实验二 结对编程 第二阶段

结对编程 第二阶段

一、实验目标
  1)体验敏捷开发中的两人合作。

  2)进一步提高个人编程技巧与实践。

二 、实验内容
  1)根据以下问题描述,练习结对编程(pair programming)实践;

  2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。

  3)要求在结对编程工作期间,两人的角色至少切换 4 次;

  4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。

1、前提准备

   (1)本来确定题目是“生命游戏”,而后两人讨论中觉的这个题目比较吃力后改为“四则运算”;

     (2)  在交替写代码的过程中,要求代码规范,方法变量定义要清晰明了,有辅助解释的注释;

          (3)  两人及时沟通,相互交流,指出对方的不足与失误;

          (4)  目标明确,不拖延,相互促进,相互学习。

2、实验过程

2.1、算法分析:先让用户输入题目数量,使用while语句循环生成题目。对于每道题目的类型使用随机数和switch语句搭配选择加减乘除运算。四类运算分别建立四个方法,随机数生成题目数值并计算答案,与用户输入答案比较。若用户输入正确,则加一分,反则不加分。结束题目生成后,得出最后总分,结束程序。

2.2、实验代码:

package com.ys.aa;
import java.util.Random;
import java.util.Scanner;
public class ys {
 
 public static void main(String[] args) {
  System.out.println("请输入题目数量:");
  Scanner sc = new Scanner(System.in);
  int num = sc.nextInt();
  int k=0, count=0;
  while( k!=num) {
   System.out.println("第"+(k+1)+"题:");
   Random ran = new Random();
   int i=ran.nextInt(4);
   switch (i) {
   case 0:
       count+=add();
    break;
   case 1:
    count+=sub();
    break;
   case 2:
    count+=mul();
    break;
   case 3:
    count+=div();
    break;
   default:
    break;
   }
   k++;
  }
  System.out.println("计算结束,你答对了"+count+"题,获得"+count+"分。");
 }
 
 public static int add(){//加法
  Random ran = new Random();
  int a =ran.nextInt(101);
  int b=ran.nextInt(101-a);
  int an=a+b;
  System.out.println(a+"+"+b+"="+"?");
  System.out.print("请输入答案:");
  Scanner sc2 = new Scanner(System.in);
  int an2= sc2.nextInt();
  if(an2==an) {
   return 1;
  }
  return 0;
 }
 
 public static int sub(){//减法
  Random ran = new Random();
  int a =ran.nextInt(101);
  int b=ran.nextInt(a+1);
  int an=a-b;
  System.out.println(a+"-"+b+"="+"?");
  System.out.print("请输入答案:");
  Scanner sc2 = new Scanner(System.in);
  int an2= sc2.nextInt();
  if(an2==an) {
   return 1;
  }
  return 0;
 }
 
 public static int mul(){//乘法
  Random ran = new Random();
  int a =ran.nextInt(101);
  int b=ran.nextInt(100/a+1);
  int an=a*b;
  System.out.println(a+"*"+b+"="+"?");
  System.out.print("请输入答案:");
  Scanner sc2 = new Scanner(System.in);
  int an2= sc2.nextInt();
  if(an2==an) {
   return 1;
  }
  return 0;
 }
 
 public static int div(){//除法
  Random ran = new Random();
  int a =ran.nextInt(100)+1;
  int b=ran.nextInt(100/a)+1;
  int c=a*b;
  int an=c/a;
  System.out.println(c+"/"+a+"="+"?");
  System.out.print("请输入答案:");
  Scanner sc2 = new Scanner(System.in);
  int an2= sc2.nextInt();
  if(an2==an) {
   return 1;
  }
  return 0;
 }
}
2.3、实验截图:

3、项目github地址:暂未提交。

4、实验小结:

第一次采用结对编程的方式完成实验,过程很新奇有趣。通过本次的实验,我和队友认识到结对合作编程的重要性和高效性,交流经验,互补不足之处。

原文地址:https://www.cnblogs.com/gaolight/p/12639393.html