结对编程第二阶段

一、实验目标: 

1)体验敏捷开发中的两人合作。 

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

二 、实验内容:

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

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

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

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

三、实验过程

1)课题准备

本来确定题目是“生命游戏”,而后两人讨论中觉的这个题目比较吃力,两人无法完成,于是改为“四则运算”;在交替写代码的过程中,要求代码规范,符合Java书写标准,方法变量定义要清晰明了,有辅助解释的注释; 两人及时沟通,相互交流,指出对方的不足与失误; 目标明确,不拖延,相互促进,相互学习。

2)算法分析

选择语句建立模型,进行代码的总体部分的描述,建立四个模块进行加减乘除的操作。循环语句进行题目的输出,通过四类模块来判断题目答案是否正确,从而得出分数,在下面显示出来。总体流程图如下:

结对编程第二阶段

 

 

3)实验源码

实验代码:

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;
 }
}   4)运行结果 结对编程第二阶段

 

 

四、实验小结

结对编程实验是两个人共同合作的从而能良好的完成实验,并使双方都获得收益的过程。本次实验通过对四则运算的编写与测试,与小组成员进过不断地修改与努力,最终成功地完成了本次实验。实现了其基本的功能。本次实验也使自己明白了只有不断地去发现错误才能去改正错误,同学之间的交流是必不可少的,只有互相汲取,互相发现,互帮互助才能更好地完成一件事。结对编程不仅促进了我们的学习,对我们生活也起到了很大的作用,增进了同学们之间的友谊,为以后的交流与学习做下了基础与铺垫。

上一篇:Random类


下一篇:啊哈添柴挑战Java1032. 区间和