zoukankan      html  css  js  c++  java
  • 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的共同讨论,翻阅课本、浏览网站寻找思路,最终顺利地完成了本次实验。在实验中,队友经常主动找我讨论问题,这让我逐渐拜托懒惰,开始积极主动起来。这是小组学习为我带来的巨大优势。

    结对学习照

  • 相关阅读:
    88. Merge Sorted Array
    87. Scramble String
    86. Partition List
    85. Maximal Rectangle
    84. Largest Rectangle in Histogram
    83. Remove Duplicates from Sorted List
    82. Remove Duplicates from Sorted List II
    81. Search in Rotated Sorted Array II
    80. Remove Duplicates from Sorted Array II
    计算几何——点线关系(叉积)poj2318
  • 原文地址:https://www.cnblogs.com/CTF5301/p/8910494.html
Copyright © 2011-2022 走看看