• 20165301结对编程项目-四则运算 (第二周)


    结对编程项目-四则运算 (第二周)

    需求分析

    • 实现一个命令行程序,要求:

      • 自动生成小学四则运算题目(加、减、乘、除)
      • 支持整数
      • 支持多运算符(比如生成包含100个运算符的题目)
      • 支持真分数
      • 统计正确率
        请输入要生成的题目数:<输入6>
    • 如下所示

    题目1:
    3 + 4 = <输入7>
    正确!
    
    题目2:
    5 ÷ 8 = <输入5/6>
    错误,正确答案为:5/8
    
    题目3:
    2/3 - 1/5 = <输入7/15>
    正确!
    
    题目4:
    1/6 * 3/7 = <输入3/42>
    正确!
    
    题目5:
    10 - 5 * 4 = <输入20>
    错误,正确答案为:-20
    
    题目6:
    (1/3 + 1/2) * 11/20 = <输入55/120>
    错误,正确答案为:11/24
    
    完成6道题目,正确率为50%
    

    设计思路

    • 通过命令行参数形式来指定生成题目数量以及运算符数量
    • 去重

    实现过程中的关键代码解释

    • 加减乘除的条件语句
    char z =op.charAt(0);
         if(z=='+')
         System.out.printf("%f",x+y);
         else if(z=='-')
         System.out.printf("%f",x-y);
         else if(z=='*')
         System.out.printf("%f",x*y);
         else if(z=='/'){
         if(y==0){
         System.out.println("you can not do that");
         }
         else{
         System.out.printf("%f",x/y);
    

    运行截图

    代码链接

    代码分析

    • 先写一个循环来计数生成的算式个数for (int i = 0; i < number; i++)
    • 判定运算的类型,用if-else if-else语句,如果是‘+’就执行add(a,b)如果输入的数据等于正确结果,则输出right
    • 如果运算类型为“-”就执行minus(op1,op2),如果输入数据等于正确结果,则输出right
    • 如果运算类型为“*”就执行times(op1,op2)
    • 如果运算类型为“*”就执行Div(op1,op2)
    • 最后统计right的数量与输入的number比,right/number求出正确率输出

    结对总结(对组员的评价)

    • 本次实验对我来说以一次很难得的历练,我个人编程能力一般,在通关过与队友20165302的共同讨论,翻阅课本、浏览网站寻找思路,最终顺利地完成了本次实验。在实验中,队友经常主动找我讨论问题,这让我逐渐拜托懒惰,开始积极主动起来。这是小组学习为我带来的巨大优势。

    结对学习照

  • 相关阅读:
    20121010 闲的慌的日子
    九月,桂花飘香的季节
    win7下控件(ActiveX)注册错误(0x80040200) 修正
    C#多线程技术(一)
    C#多线程技术(二)
    C++沉思录摘录(OOP部分)
    SVM入门教程
    是IE的bug还是Windows的bug?
    inno setup安装时不需要开始菜单项
    django本地局域网访问
  • 原文地址:https://www.cnblogs.com/CTF5301/p/8910494.html
Copyright © 2020-2023  润新知