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,不是太完美,由于时间紧张,本周的实验比较多,然后实现的比较粗糙,我会在以后的学习过程中继续实现这个代码。
20165303 2017-2018-2 《Java程序设计》结对编程练习_四则运算的更多相关文章
- 2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算
2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算 经过第一阶段的学习,同学们已经熟悉了这门语言基本的用法.在一次又一次对着电脑编写并提交代码,进行练习的时候,有没有觉 ...
- 20175312 2018-2019-2 《Java程序设计》结对编程练习_四则运算(第二周:整体性总结)
20175312 2018-2019-2 <Java程序设计>结对编程练习_四则运算(第二周:整体性总结) 结对对象与其博客链接 20175309 刘雨恒:https://www.cnbl ...
- 20175312 2018-2019-2 《Java程序设计》结对编程练习_四则运算(第一周:阶段性总结)
20175312 2018-2019-2 <Java程序设计>结对编程练习_四则运算(第一周:阶段性总结) 结对对象与其博客链接 20175309 刘雨恒:https://www.cnbl ...
- 2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周
2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决 ...
- 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周
2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...
- 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算——第一周
2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址:点击这里 1. 需求分析: 可生成题目: - 输入要想生成 ...
- 2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算
2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算 需求分析: 支持整数,可进行多运算符运算,有优先级. 设计思路: 在有括号的情况下,先计算得出括号中的结果,如 ...
- 20165236 2017-2018-2 《Java程序设计》结对编程练习_四则运算
20165236 2017-2018-2 <Java程序设计>结对编程练习_四则运算 结对小组:叶佺.郭金涛 一.需求分析: 1.能随机生成n道四则运算题目,n由使用者输入: 2.支持多种 ...
- 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...
- 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结
20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/ ...
随机推荐
- Junit的异常测试
方式1: @Test(expected = IndexOutOfBoundsException.class) public void empty() { new ArrayList<Object ...
- 大数乘法|2012年蓝桥杯B组题解析第六题-fishers
(9')大数乘法 对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的 ...
- Mysql优化知识点总结(转自CS-Notes)
转载地址:https://github.com/CyC2018/CS-Notes/blob/master/notes/MySQL.md 一.索引 B+ Tree 原理 MySQL 索引 索引优化 索引 ...
- CodeTyphon跨平台交叉编译的配置
CodeTyphon和Lazarus的关系相当于就是ubuntu和linux的关系 不过CodeTyphon提供了很多一键配置即可使用的交叉编译配置,而Lazarus就比较麻烦了,我也没用Lazaru ...
- js归并排序
js归并排序 function mergeSort (arr){ if (arr.length < 2){ //控制语句,结束递归 return arr; } var middle = Math ...
- pip运行错误
错误: [root@centos64 numpy-1.13.1]# pip install numpy-1.13.1-cp27-cp27m-manylinux1_x86_64.whl Tracebac ...
- iis默认文档有什么用?
设置默认文档就是指在只输入路径,不输入具体网页名的时候,浏览器显示的默认网页名称. 比如说,服务器地址:http://123.xxx.com,在未设置默认文档的时候或指定的默认文档不存在时,要正常访问 ...
- springBoot 学习(总)
springBoot有个中文文档网址,应该是持续更新的. 别的资料 http://tengj.top/2017/02/26/springboot1/ http://412887952-qq-c ...
- 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 ...
- 常用for循环和for in 以及for of 的区别
用Es6对象扩展运算符(…)与rest运算符说明 function test(first,...a){ for(let val=0; val<a.length;val++){ console.l ...