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

  • 需求分析

    能生成简单四则运算题目并判断用户回答对错。

    能正确统计回答正确的概率。

    能正确处理混合四则运算的优先级的问题。

    能正确输出负数等结果。

    能处理简单的加,减,乘,除运算。

    能正确的处理有括号的情况并输出正确的运算结果,能正确处理输入异常的情况。

  • 运行截图

  • 代码实现

    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: "+(op1op2));

    }

    }

    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,不是太完美,由于时间紧张,本周的实验比较多,然后实现的比较粗糙,我会在以后的学习过程中继续实现这个代码。

原文地址:https://www.cnblogs.com/Vventador/p/8910394.html

时间: 2024-08-03 22:29:54

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

20172319 结对编程练习_四则运算第一周阶段性总结

20172319 2018.04.23-05.02 结对编程练习_四则运算 第一周阶段性总结 目录 结对对象 需求分析 设计思路 结对评价 PSP 参考资料 结对对象: 20172316赵乾宸(驾驶,领航员) 20172319唐才铭(驾驶,领航员) 20172319王文彬(驾驶,领航员) 返回目录 需求分析: 1.项目内容 以结对小组形式编写代码,实现以下功能: 1.自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目,类似于: 1级题目:2 + 5 = 10

20172319 结对编程练习_四则运算第二周阶段性总结

20172319 2018.04.23-05.02 结对编程练习_四则运算 第一周阶段性总结 目录 结对对象 需求分析 设计思路 结对评价 PSP 参考资料 结对对象: 20172316赵乾宸(驾驶,领航员) 20172319唐才铭(驾驶,领航员) 20172319王文彬(驾驶,领航员) 返回目录 需求分析: 1.项目内容 以结对小组形式编写代码,实现以下功能: 1.自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目,类似于: 1级题目:2 + 5 = 10

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

20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: 需求分析 功能要求 1.自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目,类似于: 1级题目:2 + 5 =: 10 - 5 = 之类的两个数,一个运算符的题目 2.题目运算(判题) 可独立使用 实现中缀表达式转为后缀表达式并计算 判断用户答题正误,并输出正确结果 3.支持真分数 可独立使用 实现分数算式的

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

2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算 组内成员 20172327 马瑞蕃 20172320 李闻洲 20172317 蒋子行 需求分析 自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目 不同等级的题目应该指的是不同难度的题目,意味着题目的复杂程度随着等级的上升而上升 题目运算(判题) 可独立使用 实现中缀表达式转为后缀表达式并计算 自动生成的题目要先转为后缀表达式,并计算这个后缀表达式 判断用户答题正误,并输出正

20172312『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结

20172312『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结 结对伙伴 学号 :20172315 20172318 姓名 :胡智韬 陆大岳 伙伴第一周博客地址: 对结对伙伴的评价:这俩人一开始各编各的还好,到后面就开始吵,从头吵到尾,陆大胖,胡志汪,还好到最后是把代码敲出来了,不容易不容易. 小组结对编程的照片(QQ群截图) 项目中自己负责的部分 代码的综合整理,错误查找,合并以及博客的撰写. 个人贡献度划分 彭霖:胡智韬:陆大岳=3:3:4 相关过程的截图 生成题目类驱动类的

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

2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决方法 写出项目中自己负责的部分 个人贡献度划分(按百分比给小组各成员划分贡献度,各成员贡献之和为100%) 对结对的小伙伴做出评价给出小伙伴博客链接(重点指出需要改进的地方) 给出项目的码云链接 给出小组结对编程照片 博客内容中如需展示团队的共同成果,请进行说明 如有参考或引用的设计.实现,请进行说

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

20172325『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 结对伙伴博客链接 刘辰同学对编程的积极程度很高,并且在编程能力上很不错,有自己的想法并且能够把这个想法具体的实践出来,只是在编程的过程中和同学交流不够,总是在最后不行了才发现问题,很容易造成前功尽弃,希望在编程过程中多沟通,减少不必要的时间精力的浪费. 小组结对编程照片 项目中自己负责的部分 我负责的是两个部分,分别是: 1.利用栈将中缀表达式转后缀表达式: 2.对后缀表

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

20172312『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号 :20172315 20172318 姓名 :胡智韬 陆大岳 伙伴第一周博客地址: 对结对伙伴的评价:这俩人一开始各编各的还好,到后面就开始吵,从头吵到尾,陆大胖,胡志汪,还好到最后是把代码敲出来了,不容易不容易. 小组结对编程的照片(QQ群截图) 项目中自己负责的部分 代码的综合整理,错误查找,合并以及博客的撰写. 个人贡献度划分 彭霖:胡智韬:陆大岳=3:3:4 相关过程的截图 生成题目类驱动类的

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

20175312 2018-2019-2 <Java程序设计>结对编程练习_四则运算(第一周:阶段性总结) 结对对象与其博客链接 20175309 刘雨恒: 码云链接 https://gitee.com/dky20175312/dky_20175312_warehouse_1/tree/master/jiedui/src 需求分析 (一)功能需求 1.自动生成题目(本周已完成) 可生成包含不同运算符个数的题目 2.题目运算(判题)(这周先做了真分数,运算和后缀计算打算下周做) 实现中缀表达式转

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

20175312 2018-2019-2 <Java程序设计>结对编程练习_四则运算(第二周:整体性总结) (正在做博客,未完成,在填充) 结对对象与其博客链接 20175309 刘雨恒: 需求分析 (一)功能需求 1.自动生成题目(上周已完成) 可生成包含不同运算符个数的题目 2.题目运算(判题)(真分数上周已经完成,运算和后缀计算这周已完成) 实现中缀表达式转为后缀表达式并计算 判断用户答题正误,并输出正确结果 3.支持真分数(上周已完成) 实现分数算式的计算 3.题目去重(扩展需求,已完