zoukankan      html  css  js  c++  java
  • 实验二 结对编程 第二阶段

    结对编程 第二阶段

    一、实验目标
      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、实验小结:

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

  • 相关阅读:
    高性能javascript学习笔记系列(1) -js的加载和执行
    拖放 js
    js 内存小记
    原生方法系列 3(查缺补漏 不断更新)
    mongodb系列3 mongo mongoskin 连接以及连接数的问题进阶
    自定义浏览器alert ,抛弃掉死板的蓝框 自定义风格提示框。jquey ui bootstrap 实现自定义 alert confirm prompt ,by大崔
    CSS颜色代码大全
    WCF简单应用总结 by Jimmyzzc
    时间戳转换
    Ajax+MVC异常错误返回
  • 原文地址:https://www.cnblogs.com/gaolight/p/12639393.html
Copyright © 2011-2022 走看看