结对编程

  • 前言
    小学老师要每周给同学出300道四则运算练习题。
    –这个程序有很多种实现方式:
    C/C++
    C#/VB.net/Java
    Excel
    Unix Shell
    Emacs/Powershell/Vbscript
    Perl
    Python
    –两个运算符,100 以内的数字,不需要写答案。
    –需要检查答案是否正确,并且保证答案在 0..100 之间
    –尽可能地多设置一些条件

合作伙伴:2252719

  • 编译阶段

在编程过程中,我们分工合作,他(2252719)主要负责编写代码实现功能,而我负责审核代码并提供改进意见,当出现意见不符,如某个功能的代码实现觉得不合理,我们会继续讨论,并且适当更换角色,换另一个人来编程。通过不断地沟通和交流,我们最终完成了程序的编写和测试。

在代码实现上,我们采用了随机数生成的方式来创建计算题,包括随机生成操作数和操作符。同时,我们还设置了题目数量的输入和答案的判断逻辑,以便用户可以自定义题目数量并接收程序的反馈。

  • 实验代码
点击查看代码
import java.util.Scanner;  
  
public class Calculation {  
    public static void main(String[] args) {  
        Scanner scan = new Scanner(System.in);  
        System.out.print("请输入想要做的计算题数量:");  
        int total = scan.nextInt();  
  
        // 初始化题目计数、正确题目计数和错误题目计数  
        int count = 1;  
        int correct = 0;  
        int mistake = 0;  
  
        // 初始化一个标志位,用于控制是否输出题目编号  
        boolean flag = true;  
  
        while(count <= total){  
            // 如果标志位为true,输出题目编号  
            if (flag) {  
                System.out.print("第" + count + "题:");  
                flag = false;  
            }  
  
            // 生成两个随机数作为操作数  
            int num1 = (int) (Math.random() * 100 + 1);  
            int num2 = (int) (Math.random() * 100 + 1);  
  
            // 生成随机操作符  
            String symbol = "";  
            int result = 0;  
            switch ( (int) (Math.random() * 2 + 1) ){  
                case 1 :  
                    symbol = "+";  
                    break;  
                default:  
                    symbol = "-";  
            }  
  
            // 根据操作符计算结果  
            if( symbol.equals("+") )  
                result = num1 + num2;  
            else  
                result = num1 - num2;  
  
            // 如果结果不在0到100之间,则重新生成题目  
            if(result < 0 || result > 100)  
                continue;  
  
            // 输出题目并获取用户输入  
            System.out.print(num1 + symbol + num2 + "=");  
            int answer = scan.nextInt();  
  
            // 判断用户输入是否正确  
            if(answer == result){  
                System.out.println("恭喜你回答正确!");  
                correct++;  
            }  
            else{  
                System.out.println("回答错误!");  
                mistake++;  
            }  
  
            // 更新题目计数  
            count++;  
  
            // 重置标志位,以便下一轮输出题目编号  
            flag = true;  
        }  
  
        // 输出最终统计结果  
        System.out.println("在" + total + "道题目中你做对了" + correct + "道题,也做错了" + mistake + "道题!");  
  
        // 关闭Scanner对象  
        scan.close();  
    }  
}
  • 运行结果

  • 实验总结与收获

在结对编程过程中,我们体会到了团队协作的重要性。通过相互协作和审核代码,我们能够及时发现并纠正错误,提高代码的质量和可靠性。此外,我们还学会了如何有效地沟通和交流,以便更好地完成编程任务。

posted @ 2024-04-16 18:59  起不了一点  阅读(12)  评论(0编辑  收藏  举报