• 需求分析
    能生成简单四则运算题目并判断用户回答对错。
    能正确统计回答正确的概率。
    能正确处理混合四则运算的优先级的问题。
    能正确输出负数等结果。
    能处理简单的加,减,乘,除运算。
    能正确的处理有括号的情况并输出正确的运算结果,能正确处理输入异常的情况。
  • 运行截图

  • 代码实现
    import java.util.;
    public class sizeyunsuan {
    public static void main(String[] args) {
    System.out.println("输入测试题数目:");
    Scanner sc=new Scanner(System.in);
    int number=sc.nextInt();
    double right = 0;
    double wrong = 0;
    for (int i = 0; i < number; i++) {
    System.out.println("第"+(i+1)+"道题,请在下方输入答案:");
    double op1=(int)(Math.random()
    10);
    double op2=(int)(Math.random()10);
    Random r3 = new Random();
    int m = r3.nextInt(4);
    char[] chs = {'+','-','
    ','/'};
    String Operator = String.valueOf(chs[m]);
    //生成题目
    if(Operator.equals("+")){
    System.out.println(op1+"+"+op2+"=");
    boolean b = add(op1,op2);
    if(b == true){
    right++;System.out.println("right! ");
    }
    else{
    wrong++;System.out.println("no ");
    System.out.println("right answer: "+(op1+op2));
    }
    }
    else if(Operator.equals("-")){
    System.out.println(op1+"-"+op2+"=");
    boolean b =minus(op1,op2);
    if(b == true){
    right++;System.out.println("right! ");
    }
    else{
    wrong++;System.out.println("no ");
    System.out.println("right answer: "+(op1-op2));
    }
    }
    else if(Operator.equals("")){
    System.out.println(op1+"×"+op2+"=");
    boolean b =times(op1,op2);
    if(b == true){
    right++;System.out.println("right! ");
    }
    else{
    wrong++;System.out.println("no ");
    System.out.println("right answer: "+(op1
    op2));
    }
    }
    else{
    System.out.println(op1+"÷"+op2+"=");
    boolean b =Div(op1,op2);
    if(b == true){
    right++;System.out.println("right! ");
    }else{
    wrong++;System.out.println("no ");
    System.out.println("right answer: "+op1/op2);
    }
    }
    }
    System.out.println("做对了"+right+"道题.");
    System.out.println("做错了"+wrong+"道题.");
    System.out.println("正确率为"+(right/(wrong+right))100+"%");
    }
    private static boolean add(double x,double y) {
    Scanner sc = new Scanner(System.in);
    double num1 = sc.nextDouble();
    double result = x + y;
    if(num1 == result){
    return true;
    }else{
    return false;
    }
    }
    private static boolean minus(double x,double y) {
    Scanner sc = new Scanner(System.in);
    double num1 = sc.nextDouble();
    double result = x - y;
    if(num1 == result){
    return true;
    }else{
    return false;
    }
    }
    private static boolean times (double x,double y) {
    Scanner sc = new Scanner(System.in);
    double num1 = sc.nextDouble();
    double result = x
    y;
    if(num1 == result){
    return true;
    }else{
    return false;
    }
    }
    private static boolean Div(double x,double y) {
    Scanner sc = new Scanner(System.in);
    double num1 = sc.nextDouble();
    double result =x/y;
    if(num1 == result){
    return true;
    }else{
    return false;
    }
    }
    }

  • whitestar运行图
  • 码云链接
    https://gitee.com/BESTI-IS-JAVA-2018/20165303WeiYujava/tree/master/src

  • 结对感受
    通过这周的不断修改代码,不断地和小伙伴争论,终于修改出了基本实现功能的代码,然后就是实现功能,但是在运行的过程中还是有一些bug,不是太完美,由于时间紧张,本周的实验比较多,然后实现的比较粗糙,我会在以后的学习过程中继续实现这个代码。

20165303 2017-2018-2 《Java程序设计》结对编程练习_四则运算的更多相关文章

  1. 2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算

    2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算 经过第一阶段的学习,同学们已经熟悉了这门语言基本的用法.在一次又一次对着电脑编写并提交代码,进行练习的时候,有没有觉 ...

  2. 20175312 2018-2019-2 《Java程序设计》结对编程练习_四则运算(第二周:整体性总结)

    20175312 2018-2019-2 <Java程序设计>结对编程练习_四则运算(第二周:整体性总结) 结对对象与其博客链接 20175309 刘雨恒:https://www.cnbl ...

  3. 20175312 2018-2019-2 《Java程序设计》结对编程练习_四则运算(第一周:阶段性总结)

    20175312 2018-2019-2 <Java程序设计>结对编程练习_四则运算(第一周:阶段性总结) 结对对象与其博客链接 20175309 刘雨恒:https://www.cnbl ...

  4. 2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周

    2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决 ...

  5. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...

  6. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算——第一周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址:点击这里 1. 需求分析: 可生成题目: - 输入要想生成 ...

  7. 2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算

    2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算 需求分析: 支持整数,可进行多运算符运算,有优先级. 设计思路: 在有括号的情况下,先计算得出括号中的结果,如 ...

  8. 20165236 2017-2018-2 《Java程序设计》结对编程练习_四则运算

    20165236 2017-2018-2 <Java程序设计>结对编程练习_四则运算 结对小组:叶佺.郭金涛 一.需求分析: 1.能随机生成n道四则运算题目,n由使用者输入: 2.支持多种 ...

  9. 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

    20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...

  10. 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结

    20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/ ...

随机推荐

  1. Ubuntu软件操作的相关命令

    Ubuntu软件操作的相关命令 sudo apt-get update ------------------------------- 更新源 sudo apt-get install package ...

  2. 牛客练习赛24题解(搜索,DP)

    A题,C题不讲,基础题(但是我要抨击一下这次比赛,卡cin,cout,卡的太狠了,根本就不让过的那种,QAQ) 链接:https://www.nowcoder.com/acm/contest/157/ ...

  3. QML使用的内置对象

    QML从ECMAScript继承而来,所以支持这个ECMAScript.经常在QML工程中看到Math.Data.....等方法,但是在Qt手册里搜索不到,这是因为这些方法不是QtQuick的,而是E ...

  4. SVM学习笔记5-SMO

    首先拿出最后要求解的问题:$\underset{\alpha}{min}W(\alpha)=\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\a ...

  5. X-Pack for the Elastic Stack [6.2] » Securing the Elastic Stack »Setting Up User Authentication

    https://www.elastic.co/guide/en/x-pack/current/setting-up-authentication.html Active Directory User ...

  6. ASP.NET Core2.1 中如何使用 Cookie和Session

    https://blog.csdn.net/canduecho/article/details/80651853 ASP.NET Core2.1的官方项目模板在创建的Razor Pages和MVC项目 ...

  7. vue项目从引入vue.js 改为使用vue-cil (webpack)时修改的一些内容

    在元素属性中不要写js关键字,会报使用关键字的错如@click='if(){}else{}', if-else 语句可以使用三元表达式或短路运算符来实现 v-for 不写:key  会有警告 ,使用: ...

  8. Summary on Visual Tracking: Paper List, Benchmarks and Top Groups

    Summary on Visual Tracking: Paper List, Benchmarks and Top Groups 2018-07-26 10:32:15 This blog is c ...

  9. 解析Django路由层URLconf

    目录: 一  Django中路由的作用 二  路由的分组 三  路由分发 四  反向解析 五  名称空间 六  Django2.0版的path 一.Django中路由的作用 URL配置(URLconf ...

  10. 一行css解决图片统一大小后的拉伸问题(被冷漠的object-fit)

    一.先来个实战 1. 测试案例 需求: 要求表情库里所有表情包大小都固定 实际效果: 由于图片原始大小都不一样,强行设定大小值会导致拉伸,如果不设定大小则参差不齐.例如: //html <bod ...