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

    结对学习照

  • 相关阅读:
    使用CustomValidate自定义验证控件
    C#中金额的大小写转换
    Andriod出错之Unable to build: the file dx.jar was not loaded from the SDK folder!
    VC 编写的打字练习
    机房工作笔记Ping只有单向通
    web服务协同学习笔记(1)
    Dll 学习3 将MDI子窗口封装在DLL中
    机房工作学习文件共享
    Andriod出错之Failed to find an AVD compatible with target 'Android 2.2'
    Andriod出错之wrapper was not properly loaded first
  • 原文地址:https://www.cnblogs.com/CTF5301/p/8910494.html
Copyright © 2011-2022 走看看