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

  • 代码实现
    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. Junit的异常测试

    方式1: @Test(expected = IndexOutOfBoundsException.class) public void empty() { new ArrayList<Object ...

  2. 大数乘法|2012年蓝桥杯B组题解析第六题-fishers

    (9')大数乘法 对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的 ...

  3. Mysql优化知识点总结(转自CS-Notes)

    转载地址:https://github.com/CyC2018/CS-Notes/blob/master/notes/MySQL.md 一.索引 B+ Tree 原理 MySQL 索引 索引优化 索引 ...

  4. CodeTyphon跨平台交叉编译的配置

    CodeTyphon和Lazarus的关系相当于就是ubuntu和linux的关系 不过CodeTyphon提供了很多一键配置即可使用的交叉编译配置,而Lazarus就比较麻烦了,我也没用Lazaru ...

  5. js归并排序

    js归并排序 function mergeSort (arr){ if (arr.length < 2){ //控制语句,结束递归 return arr; } var middle = Math ...

  6. pip运行错误

    错误: [root@centos64 numpy-1.13.1]# pip install numpy-1.13.1-cp27-cp27m-manylinux1_x86_64.whl Tracebac ...

  7. iis默认文档有什么用?

    设置默认文档就是指在只输入路径,不输入具体网页名的时候,浏览器显示的默认网页名称. 比如说,服务器地址:http://123.xxx.com,在未设置默认文档的时候或指定的默认文档不存在时,要正常访问 ...

  8. springBoot 学习(总)

    springBoot有个中文文档网址,应该是持续更新的. 别的资料 http://tengj.top/2017/02/26/springboot1/     http://412887952-qq-c ...

  9. 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 ...

  10. 常用for循环和for in 以及for of 的区别

    用Es6对象扩展运算符(…)与rest运算符说明 function test(first,...a){ for(let val=0; val<a.length;val++){ console.l ...