• 【第二周】结对编程(宫丽君和林莉):四则运算


    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.结果分析

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

  • 相关阅读:
    iOS开发之UIWebView自动滑动到顶部-备
    Android开发者须知的几种APP加密方式--备
    UITableView 小节-备
    判断字符串是否为数字-备
    关于iOS上的对象映射公用方法-备
    嵌入式开发之项目---uboot 内存合集
    多媒体开发之---h.264 SPS PPS解析源代码,C实现一以及nal分析器
    YUV视频格式到RGB32格式转换的速度优化 上篇
    多媒体开发之---音视频解码 视频回调的空转陷阱
    收集的网络上大型的开源图像处理软件代码(提供下载链接)
  • 原文地址:https://www.cnblogs.com/gonglij/p/5860252.html
Copyright © 2020-2023  润新知