3.结对编程成果报告(小学生四则运算的出题程序,Java实现)
程序名称:小学生四则运算的出题程序
先附上代码:
package com.makequestion;
import java.text.DecimalFormat;
import java.util.Random;
import java.util.Scanner;
public class start {
private static int questionNum = 100;// 循环的次数
private static int rightResult = -1;// 正确答案
private static int inputResult = -1;// 输入的答案
private static int rightNum = 0;// 正确的个数
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1; i <= questionNum; i++) {
judgeResult(rightResult, inputResult);
}
showResult();
}
public static void showResult() {
if (rightNum == questionNum) {
System.out.println("非常 不错,全对!我已经没什么可以教你的了。");
} else {
DecimalFormat df = new DecimalFormat("0.00%");// 格式化输出
String rightRateStr;// 存储比率的字符串
double rightRate;// 正确率
rightRate = (double) rightNum / (double) questionNum;
rightRateStr = df.format(rightRate);
System.out.println("正确率为:" + rightRateStr);
System.out.println("革命尚未成功,同志仍需努力!");
}
}
public static void judgeResult(int rightResult, int inputResult) {// 判断对错
rightResult = makeQuestion();
inputResult = inputResult();
if (rightResult == inputResult) {
rightNum += 1;
System.out.print("\t正确");
System.out.println();
} else {
System.out.print("\t错误,正确答案为:" + rightResult);
System.out.println();
}
}
public static int makeQuestion() {
int operation = -1;// 标记运算符
int num1 = -1;// 运算数1
int num2 = -1;// 运算数2
int rightResult = -1;// 正确的运算结果
Random random = new Random();
num1 = random.nextInt(100);// 随机生成在[0,100]范围内的运算数1
num2 = random.nextInt(100);// 随机生成在[0,100]范围内的运算数2
operation = random.nextInt(3);// 产生随机数,代表运算符0为+,1为-,2为*,3为/
switch (operation) {
case 0: {
rightResult = num1 + num2;// 计算结果
System.out.print(num1 + "+" + num2 + "=");// 输出题目
break;
}
case 1: {
rightResult = num1 - num2;
System.out.print(num1 + "-" + num2 + "=");
break;
}
case 2: {
rightResult = num1 * num2;
System.out.print(num1 + "*" + num2 + "=");
break;
}
case 3: {
if (num2 == 0) {
num2 = num2 + 1;
}
rightResult = num1 / num2;
System.out.print(num1 + "/" + num2 + "=");
break;
}
}
return rightResult;
}
public static int inputResult() {// 用户输入答案
int result = -1;
Scanner input = new Scanner(System.in);
result = input.nextInt();// 用户输入她的答案
// input.close();
return result;
}
}
输入输出:
为了测试方便questionNum取为3。
1.有错误的情况

2.全对的情况

照片涉及隐私,恕难附加。
3.结对编程成果报告(小学生四则运算的出题程序,Java实现)的更多相关文章
- 随机四则运算的出题程序java
一.设计思想 1.功能较多必须有菜单选择项,将一个大程序分为若干个功能模块的小程序,逐个实现2.针对题目避免重复时先将已生成的算式保存,然后将下一条生成的式子进行判断是否已生成,如果生成则返回循环语句 ...
- 软件工程-构建之法 小学生四则运算的出题程序,android版本
内容中包含 base64string 图片造成字符过多,拒绝显示
- 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 ...
- 20175208『Java程序设计』课程 结对编程练习_四则运算
20175208 结对编程练习_四则运算(第一周) 结对成员:20175208张家华,20175202葛旭阳 一.需求分析: 实现一个命令行程序,要求: (1)自动生成指定数量的小学四则运算题目(加. ...
- 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. 需求分析: 可生成题目: - 输入要想生成 ...
随机推荐
- style.attr,currentStyle,getComputedStyle获取元素css
老朋友object.style.attr 平常我们都是使用object.style.attr的方式来获取元素的属性, 但是这种方法具有很大的局限性——只能获取内联样式, 而下面的两种方法可以获取到元素 ...
- 20155235 2017-2018-1 《Java程序设计》第2周学习总结
20155235 2017-2018-1 <Java程序设计>第2周学习总结 教材学习内容总结 3.1类型.变量与运算符 类型 基本类型 类类型 变量 基本规则 不可以用数字作为开头,不可 ...
- PostgreSQL的pg_stats学习
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL统计信息索引页 回到顶级页面:PostgreSQL索引页 对于pg_stas,说明文档在这里: http://w ...
- 【LG4309】【BZOJ3173】[TJOI2013]最长上升子序列
[LG4309][BZOJ3173][TJOI2013]最长上升子序列 题面 洛谷 BZOJ 题解 插入操作显然用平衡树就行了 然后因为后面的插入对前面的操作无影响 就直接在插入完的序列上用树状数组求 ...
- nginx 反向代理到目录
upstream yg{ server 127.0.0.x; } server { listen 80; server_name www.hikaru.pw; location / { rewrite ...
- Q&As:1.cocos2d-html5如何获得鼠标划过事件
不喜欢按部就班学东西,感觉各种框架各种技术就应该是拿到手用的,这应该是导致我现在学了这么多却没一样精通的缘故吧. 发现自己喜欢在QQ群回答一些菜鸟的问题,就算自己不清楚也会乐意看代码帮助解决╮(╯_╰ ...
- XAF-如何修改内置的编辑器(Property Editor)
本示例演示在web/win中给 日期选择控制显示出一个时钟及修改时间的控件.效果如下: 如果你装了XAF在这个路径中已经有了这个示例: %PUBLIC%\Documents\DevExpress De ...
- ASP.NET获取汉字拼音的首字母
代码 #region GetChineseSpell获取汉字拼音的第一个字母 //获取汉字拼音的第一个字母 static public string GetChineseSpell(string st ...
- hdu2187悼念512汶川大地震遇难同胞——老人是真饿了(贪心 简单题)
传送门 简单题 #include<bits/stdc++.h> using namespace std; struct node { double dan,weight; }a[]; bo ...
- 【SpringCloud】第十二篇: 断路器监控(Hystrix Turbine)
前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选. ...