首页 > 代码库 > 结对编程(宫丽君和林莉):四则运算

结对编程(宫丽君和林莉):四则运算

1.需求:根据给出的由两个数字(整数或者是小数)和一个运算符构成的表达式,输入表达式的结果,并与正确答案进行比较,输出对错

2.需求分析:

(1)生成两个随机数

(2)生成一个随机运算符

(3)根据随机生成的数字和运算符构成的表达式,输入运算结果

(4)根据输入的运算结果与正确答案进行比较,输出正确或者错误

2.代码实现

package ruan.jian.gong.cheng;import java.text.DecimalFormat;import java.util.Random;import java.util.Scanner;public class FigureOperate {    public static void main(String[] args) {        int correctNum=0;                    //统计答对的题目个数        int wrongNum=0;                        //统计答错的题目个数        Scanner scan=new Scanner(System.in);        double result;                        //表达式的结果        double correctResult;                //表达式的正确结果        DecimalFormat df=new DecimalFormat("0.00");        //循环输出10道十以内的四则运算        for(int i=1;i<=10;i++){            double num1=Math.round((double)(Math.random()*10));  //随机生成一个10以内的数字放在运算符的左侧            double num2=Math.round((double)(Math.random()*10));  //随机生成一个10以内的数字放在运算符的右侧            //随机生成一个运算符            Random operate=new Random();            int n=operate.nextInt(4);              char [] c={+,-,*,/};            int ope=(int)c[n];               //获得随机生成的运算符对应的ASSIC值            switch(ope){                case 43:{        //与加号对应的ASSIC值相等,即当运算符为加号时                    System.out.print("请计算:"+num1+"+"+num2+"=");                    result=scan.nextDouble();                    correctResult=num1+num2;                    if(correctResult==result){                        System.out.println("计算正确");                        correctNum++;                    }else{                        System.out.println("计算错误");                        wrongNum++;                    }                    break;                }                case 45:{        //与减号对应的ASSIC值相等,即当运算符为减号时                    System.out.print("请计算:"+num1+"-"+num2+"=");                    result=scan.nextDouble();                    correctResult=num1-num2;                    if(correctResult==result){                        System.out.println("计算正确");                        correctNum++;                    }else{                        System.out.println("计算错误");                        wrongNum++;                    }                    break;                }                case 42:{        //与乘号对应的ASSIC值相等,即当运算符为乘号时                    System.out.print("请计算:"+num1+"*"+num2+"=");                    result=scan.nextDouble();                    correctResult=num1*num2;                    if(correctResult==result){                        System.out.println("计算正确");                        correctNum++;                    }else{                        System.out.println("计算错误");                        wrongNum++;                    }                    break;                }                case 47:{        //与除号对应的ASSIC值相等,即当运算符为除号时                    System.out.print("请计算:"+num1+"/"+num2+"=");                    result=scan.nextDouble();                    correctResult=Double.parseDouble(df.format(num1/num2));                    if(correctResult==result){                        System.out.println("计算正确");                        correctNum++;                    }else{                        System.out.println("计算错误");                        wrongNum++;                    }                    break;                }            }        }        System.out.println("共答对"+correctNum+"道题");        System.out.println("共答对"+wrongNum+"道题");    }}

3.运行结果

技术分享

4.结果分析

可以正确得出四则运算的结果并统计答对和答错的题数

 

结对编程(宫丽君和林莉):四则运算