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

代码描述:

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. 《C语言程序设计基础1》第二学期第一周学习总结

    **<C语言程序设计基础1>第二学期第一周学习总结 一. 本周学习内容总结 一维数组,了解了一维数组的定义(定义一个数组,需要明确数组变量名,数组元素的类型和数组大小,即数组中元素的数量) ...

  2. mysql5.6搭建主从复制

    使用MySQL 5.6,搭建主从复制.关于5.6的安装,可以参考<MySQL 5.6 rpm安装方法和碰见的问题>.   主库创建slave用户,设置复制权限, mysql> cre ...

  3. Python3的venv虚拟环境操作(Linux)

    Infi-chu: http://www.cnblogs.com/Infi-chu/ Python3.3以上版本支持了原生的虚拟环境命令,即venv. 长话短说,具体的理论在这里就不多说了,主要的操作 ...

  4. intel-FPGA的片内存储器问题

    FPGA的片内有很多的存储器资源,可以配置成单端口的ROM.RAM和双端口的ROM.RAM,以及移位寄存器和FIFO等.在学习过程中,笔者遇到过几个小问题,总结如下: 片内是不是有ROM或者RAM? ...

  5. Android Log类基本用法

    Log类介绍: API for sending log output.Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e() me ...

  6. 《Java核心技术36讲》阅读笔记:Exception和Error有什么区别?

    1.Exception 和 Error有什么区别?运行时异常与一般异常有什么区别? Exception和Error都继承自java.lang.Throwable.在Java中只有Throwable的实 ...

  7. go-处理字符串导致内存溢出

    今日用go来做字符的“+”连接操作,每次连接的字符串大致有10M左右,循环连接100次,直接导致go内存溢出了. // Text project main.go package main import ...

  8. 20155233 2006-2007-2 《Java程序设计》第2周学习总结

    20155233 2006-2007-2 <Java程序设计>第2周学习总结 教材学习内容总结 本章主要学习Java的基础语法,这些语法在C语言的学习中基本上都涉及到过,基本上,Java可 ...

  9. 2017-2018-1 20155327 《信息安全系统设计基础》课堂测试&课下作业

    2017-2018-1 20155327 <信息安全系统设计基础>课堂测试&课下作业 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep ...

  10. 20145226 《Java程序设计》第3周学习总结

    教材学习内容总结 学习目标 区分基本类型与类类型 理解对象的生成与引用的关系 掌握String类和数组 理解封装的概念 掌握构造方法的定义 理解重载的概念 掌握static的应用 教材第四章内容总结 ...