四则运算满足简单加减乘除,以及包含括号的复杂四则运算。

代码描述:

1.采用random随机数产生要参与计算的数字,以及运算符号

2.采用Scanner获取控制台输入的结果,与计算出来的结果进行比对,并告之用户。如果用户计算错误,将正确结果输出。

3.关于复杂计算,所出题是包含四种符号的混合运算。

代码展示:

random产生随机数abcd分别代表要参加运算的数字

s代表简单运算中的符号

public static void main(String[] args) {
int n = 10;
System.out.println("本次测试共10道题");// n为题目数量
Random random = new Random();
for (int o = 1; o <= n; o++) { // 产生小于等于100的随机数
int a = random.nextInt(100);
int b = random.nextInt(100);
int c = random.nextInt(100);
int d = random.nextInt(100); // 产生1 2 3 4随机数分别代表加减乘除
Random sig = new Random();
int s = sig.nextInt(4);

进行简单运算复杂运算的选择

System.out.println("~~~~~~~~~~~~~~~~~~");
System.out.println("请选择要进行的练习类型:");
System.out.println("1.简单运算;2.复杂运算");

如果选择1则为简单运算 分为加减乘数两位数的计算

                       Scanner s1 = new Scanner(System.in);
int cho = s1.nextInt();
if (cho == 1) {
// 代表符号的随机数s等于1时将进行加法运算
if (s == 1) {
int ansJia = a + b;
System.out.print(a + "+" + b + "=");
Scanner scan1 = new Scanner(System.in);
int ans = scan1.nextInt();
if (ans == ansJia) {
System.out.println("真棒!你做对了");
} else {
System.out.println("在仔细想想,你可以做对的!");
}
System.out.println("正确的结果是:" + ansJia);
}
// 代表符号的随机数s等于2时将进行减法运算
if (s == 2) {
if (a > b) {
// 为保证所得的结果为正,必须使用较大的随机数减去较小的随机数
int ansJian = a - b;
System.out.print(a + "-" + b + "=");
Scanner scan2 = new Scanner(System.in);
int ans = scan2.nextInt();
if (ans == ansJian) {
System.out.println("真棒!你做对了");
} else {
System.out.println("在仔细想想,你可以做对的!");
}
System.out.println("正确的结果是:" + ansJian);
} else {
int ansJian = b - a;
System.out.print(b + "-" + a + "=");
Scanner scan2 = new Scanner(System.in);
int ans = scan2.nextInt();
if (ans == ansJian) {
System.out.println("真棒!你做对了");
} else {
System.out.println("在仔细想想,你可以做对的!");
}
System.out.println("正确的结果是:" + ansJian);
}
}
// 乘
if (s == 3) {
int ansCheng = a * b;
System.out.print(a + "*" + b + "=");
Scanner scan3 = new Scanner(System.in);
int ans = scan3.nextInt();
if (ans == ansCheng) {
System.out.println("真棒!你做对了");
} else {
System.out.println("在仔细想想,你可以做对的!");
}
System.out.println("正确的结果是:" + ansCheng);
}
// 除
if (s == 4) {
double ansChu = (double) (Math.round(a / b));
System.out.print(a + "/" + b + "=");
Scanner scan4 = new Scanner(System.in);
int ans = scan4.nextInt();
if (ans == ansChu) {
System.out.println("真棒!你做对了");
} else {
System.out.println("在仔细想想,你可以做对的!");
}
System.out.println("正确的结果是:" + ansChu);
} }

如果选择为2 则计算四个数字的运算

else {
double ansCom = (double) (Math.round((a + b) * c / d));
System.out.println("(" + a + "+" + b + ")*" + c + "/" + d + "=");
Scanner scan5 = new Scanner(System.in);
double ans = scan5.nextDouble();
if (ans == ansCom) {
System.out.println("真棒!你做对了");
} else {
System.out.println("在仔细想想,你可以做对的!");
}
System.out.println("正确的结果是:" + ansCom);
}
}

当做题数目为10结束训练

if(o==n-1){
                System.out.println("恭喜你完成本次训练");
                break;
            }

运行结果如下:

关于结对训练的感悟:

1.两个人一起写代码能注意到代码规范的问题,这样方便两个人看代码。

2.两个人在一起交流能减少错误的发生,自己写代可能有拼写错误自己发现不了,及时提醒在代码编写过程很重要。

3.两个人的思想一定强于一个人,所以对于问题思路更开阔。

week1 四则运算的更多相关文章

  1. 【SE】Week1 : 四则运算题目生成器批改器程序总结

    用户需求详见:http://www.cnblogs.com/jiel/p/4810756.html 1)PSP表格分析(预计耗时): PSP2.1 Personal Software Process ...

  2. 集大软件工程15级结对编程week1

    集大软件工程15级结对编程week1 0. 团队成员 姓名 学号 博客园首页 码云主页 孙志威 20152112307 Agt Eurekaaa 孙慧君 201521123098 野原泽君 野原泽君 ...

  3. 20165223 结对编程之四则运算week1-阶段性总结

    目录 一.结对对象 二.需求分析 三.设计思路 四.功能截图 五.结对感受 一.结对对象 担任角色 驾驶员(Driver):20165223 蔡霓(是控制键盘输入的人) 领航员(Navigator): ...

  4. oh my god 四则运算

    Week1地址:https://git.coding.net/leiqh549/four.git 需求分析: 1.一个生成n道四则运算的程序,要求数字在0-100间,运算符在3-5个之间且运算符至少包 ...

  5. 介绍一款原创的四则运算算式生成器:CalculateIt2

    家里小朋友读一年级了,最近每天都有一些10以内的加减法口算练习,作为程序员爸爸,自然也是想办法能够偷懒,让电脑出题,给小朋友做些练习.于是,自己在业余时间开发了一个四则运算算式生成器,名为:Calcu ...

  6. 作业二:个人编程项目——编写一个能自动生成小学四则运算题目的程序

    1. 编写一个能自动生成小学四则运算题目的程序.(10分)   基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图.   本题发一篇随笔,内容包括: 题 ...

  7. 四则运算appNABCD模型

    团队: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...

  8. 第一章-第一题(小学生四则运算)--By郭青云

    1.项目需求 a) 除了整数以外,还要支持真分数的四则运算. (例如:  1/6 + 1/8 = 7/24) b) 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. c) 逐步扩 ...

  9. 一个简易的四则运算单元...(15.12.15 BUG更新)

    网上找的, 没有作者信息, 只能在这里感谢一下了, 支持标准写法的四则运算 --2015-12-15 修改了一个内存泄漏的BUG - Pop方法没有释放申请的内存 unit Base.Calculat ...

随机推荐

  1. 11-while循环基本使用

    hm_02_第一个while循环.py def main(): i = 1 while i <= 3: print(i, 'Hello world') i += 1 print(i) 1 Hel ...

  2. U盘,移动硬盘显示显示需要格式化怎么修复

    冷静别怕,用windows系统自带磁盘修复CHKDSK命令即可解决此问题. 首先,在开始菜单栏站到“运行”窗口,也就是c:\(命令提示符),win7可直接在开始菜单的搜索窗口中输入“cmd”. 其次, ...

  3. drag element

    <div id="logDiv" draggable="true" style="border: 2px dotted red; width: ...

  4. 优步司机如何联系客服?uber客服渠道,Uber优步司机客服渠道

    预约客服导航 为了更好的快速.有效地解决您的疑问,Uber优步从今日起开通了在线客服平台.如果您通过司机服务/常见问题没有找到您需要的答案,您可以通过点击下方的“进入在线客服平台”与我们的工作人员在线 ...

  5. Maven学习(三)-----Maven本地资源库

    Maven本地资源库 Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹.很简单,当你建立一个Maven项目,所有相关文件将被存储在你的M ...

  6. uvaoj 156Ananagrams(map和vector组合使用)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. selenium 结合 docker 构建分布式测试环境 (初学者视角)

    前言:随着自动化测试越学越深,深深觉得有太多的东西需要总结. 1.记录下学习中遇到的坑,当做学习笔记.2.有前人路过看到文章中比较落后的做法,请务必一定要指教.(因为是初学者视角,很多东西只是走通而已 ...

  8. POJ-2018(二分)

    //意是在一个数组里,寻找一段连续和,使其平均和最大,但是长度不能小于F, //首先可以看出是满足单调性的,但是怎么二分呢, //我们先枚举一个可能的数. //然后数组里的值全部减去这个值(结果会有正 ...

  9. jquery中国地图插件

    插件下载地址: http://www.17sucai.com/preview/1266961/2018-09-18/map/js/jsMap-1.1.0.min.js jsMap 项目介绍 这是一个功 ...

  10. shell基础 -- 入门篇

    shell 英文含义是“壳”,这是相对于内核来说的,shell 也确实就像是内核的壳,通常来说,所有对内核的访问都要经由 shell .同时,shell 还是一门功能强大的编程语言.shell 是 L ...