结对编程---《四则运算》

题目:某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做。

采用语言:Java

结对对象:张莲          博客地址:http://www.cnblogs.com/lotusAL/p/5373695.html

双方贡献比例:1:1

编程照片:

源代码:

package temp;

import java.util.Random;
import java.util.Scanner;

public class Arithmetic {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        double result1 = -1;// 电脑运算结果
        double result2 = -1;// 用户输入的运算结果

        // 循环30次,做30次运算
        for (int i = 1; i <= 30; i++) {
            result1 = makeQuestion();
            result2 = inputResult();
            // 判断用户输入的答案是否正确
            if (result1 == result2) {
                System.out.println("你输入的答案正确");
            } else {
                System.out.println("你输入的答案错误");
                System.out.println("正确答案为:" + result1);
            }
        }
    }

    public static double makeQuestion() {
        int operation = -1;// 标记是哪一种运算符:0为+,1为-,2为*,3为/

        int num1 = -1;// 运算数1
        int num2 = -1;// 运算数2
        double result = -1;// 电脑运算结果

        Random random = new Random();

        num1 = random.nextInt(100);// 随机生成在[0,100]范围内的运算数1
        num2 = random.nextInt(100);// 随机生成在[0,100]范围内的运算数2
        operation = random.nextInt(3);// 随机生成运算符对应的序号:0为+,1为-,2为*,3为/
        switch (operation) {
        case 0: {
            result = num1 + num2;
            System.out.print(num1 + "+" + num2 + "=");// 输出题目
            break;
        }
        case 1: {
            result = num1 - num2;
            System.out.print(num1 + "-" + num2 + "=");
            break;
        }
        case 2: {
            result = num1 * num2;
            System.out.print(num1 + "*" + num2 + "=");
            break;
        }
        case 3: {
            if (num2 == 0) {
                num2 = num2 + 1;
            }
            result = num1 / num2;
            System.out.print(num1 + "/" + num2 + "=");
            break;
        }
        }

        return result;
    }

    public static double inputResult() {
        double result = -1;
        Scanner input = new Scanner(System.in);
        result = input.nextDouble();// 用户输入她的答案
        return result;
    }

}

运行结果:

总结:

       结对编程的优点:结合两个人的想法,可以得到一个比一个人想法更全面的想法,效率更加高,测试时也更加全面。完成速度快,收获也比一个人更加多。

学习进度条:

点滴成就

学习时间

新编写代码行数

博客量(篇)

学到的知识点

第一周

3h

0

0

初步认识“软件工程”

第二周

3h

0

1

逐渐了解“软件工程”的思想

第三周

3h

0

1

制作并进行问卷调查

第四周

6h

120

2

需求分析与结对编程

第五周

8h

360

0

Java的学习

第六周

8h

0

0

初步学习“软件测试”

第七周

8h

500

1

软件系统设计、结对编程

原文地址:https://www.cnblogs.com/summerxx/p/5374158.html