java四则出题判分_java 随机出题四则运算
我的github地址:https://github.com/kdaysl/fshost/blob/master/mar.java
一、需求分析具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是30, 那就输出30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在100 之内的正整数,答案不能是负数。并且要求能处理用户的输入,并判断对错,打分统计。
二、功能设计
1. 输出相应数目的四则运算(加减乘除)题目及答案;
2. 随机产生具有三个操作数和两个运算符的四则运算;
3. 四则运算的答案不能为负数,如果为负数则重新输入该道题目;
4. 对用户的输入答案进行判断,正确则加分,错误则不加分,并予以提示。满分为100分;
5. 输出用户的总分数。
____________________________________________________________________________________________________________________________________________________________________
三、详细设计
1. 由于时间问题使用嵌套switch来完成多步计算
1.1随机产生前两个数字并和第一个运算符:
front = random.nextInt(100);
back = random.nextInt(100);
symbol = random.nextInt(4);
2.1嵌套switch-外:
switch (Symbol) {
case 0:
{
sSymbol = random.nextInt(4);
end = random.nextInt(100);
switch (ssymbol){
...
}
case 1:
{
while (front < back) {
front = random.nextInt(100);
back = random.nextInt(100);
}
sSymbol = random.nextInt(4);
end = random.nextInt(100);
switch (ssymbol){
...
}
break;
}
case 2:
{
sSymbol = random.nextInt(4);
end = random.nextInt(100);
switch (ssymbol){
...
}
break;
}
case 3:
{
if (back == 0) {
back = random.nextInt(99) + 1;
}
while (front % back != 0) {
front = random.nextInt(100);
back = random.nextInt(99) + 1;
}
sSymbol = random.nextInt(4);
end = random.nextInt(100);
switch (ssymbol){
...
}
break;
}
}
}
2.2switch嵌套-里,
switch (sSymbol){
case 0:{
...
inResult = input.nextInt();
corResult = front / back +end;
if (inResult == corResult)
correct++;
else {
...
}
break;
}
case 1:{
...
inResult = input.nextInt();
corResult = front / back -end;
if (inResult == corResult)
correct++;
else {
...
}
break;
}
case 2:{
...
inResult = input.nextInt();
corResult = front / back -end;
if (inResult == corResult)
correct++;
else {
...
}
break;
}
case 3:{
if (end == 0) {
end = random.nextInt(100);
}
while ((front + back)% end != 0) {
front = random.nextInt(100);
back = random.nextInt(100);
end = random.nextInt(99) + 1;
}
...
inResult = input.nextInt();
corResult = front / back / end;
if (inResult == corResult)
correct++;
else {
...
}
break;
}
}
31.错题录入数组
errorSymbol[j] = ( front + "/" + back +"/"+end+ "="+corResult);
errorId[k] = i + 1;
3.2用户输入答案对比
Scanner input = new Scanner(System.in);
inResult = input.nextInt();
corResult...
if (inResult == corResult){
...}
四、过程耗时估计统计表
PSP2.1
Personal Software Process Stages
Time Senior Studen(h)
Time(h)
Planning
计划
0.1
0.1
Estimate
估计这个任务需要多少时间
1
1
Development
开发
2
3
Analysis
需求分析
0.1
0
Design Spec
生成设计文档
0
0
Design Review
设计复审
0
0
Coding Standard
代码规范
0
0
Design
具体设计
1
1.5
Coding
具体编码
2
3
Code Review
代码复审
0
0
Test
测试(自我测试,修改代码,提交修改)
1
1
Reporting
报告
0
0
测试报告
0
0
计算工作量
2
3
并提出过程修改计划
0
0
java四则出题判分_java 随机出题四则运算相关推荐
- java 四则混合运算_Java实现四则混合运算代码示例
使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...
- java四则混合运算_Java实现四则混合运算代码示例
使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...
- java 时间生成字符串_java随机生成时间字符串的方法
本文实例为大家分享了java随机生成时间字符串的具体代码,供大家参考,具体内容如下 package com.wechat.utils; import java.text.SimpleDateForma ...
- java四则运算器算法_java写的四则运算器
本打算做一个从RE到NFA的转换器,思路已经理清了,但是在动手做的时候,遇到了很多问题,有些技术难点都遗忘了,包括如何定义闭包,如何利用递归来实现. 于是回头重新拾起这些技术,边学边思考,做了个四则运 ...
- 十以内的加减java编写程序_Java实现随机出题,10道10以内加减法计算代码实例
本文实例为大家分享了Java实现随机出题,10道10以内加减法计算l的具体代码,供大家参考,具体内容如下 package com.swift; import java.awt.Toolkit; imp ...
- java小学生加减法_Java实现随机出题,10道10以内加减法计算代码实例|chu
本文实例为大家分享了Java实现随机出题,10道10以内加减法计算l的具体代码,供大家参考,具体内容如下 package com.swift; import java.awt.Toolkit; imp ...
- java随机出题_Java实现随机出题,10道10以内加减法计算代码实例
Java实现随机出题,10道10以内加减法计算代码实例 发布于 2020-3-10| 复制链接 摘记: 本文实例为大家分享了Java实现随机出题,10道10以内加减法计算l的具体代码,供大家参考,具体 ...
- java四则出题判分_C#编程之自动出题判分——c#学习实践
本文主要向大家介绍了C#编程之自动出题判分--c#学习实践,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助. 1.程序功能自动出题-(程序随意给出10以内加减乘除)并且判断结果正确与否,正确 ...
- c语言小学生四则运算出题_C语言随机10以内四则运算
Q1:c语言 设计小学生四则运算测试程序,要求随机产生10题四则运算题,答完后给出得分 #include#include#includevoid main() { int a[10],b[10],d[ ...
最新文章
- Cache 与Memory架构及数据交互
- POSIX多线程编程-条件变量pthread_cond_t
- 微信小程序开发-入门基础
- Spark _27_自定义函数UDF和UDAF
- oracle full table scan,ORACLE优化之执行规划(1) - TABLE FULL SCAN/INDEX FULL SCAN
- CentOS 7.4救援模式和忘记root密码
- 安装opencv_contrib(ubuntu16.0)
- amd 服务器cpu型号怎么看,AMD CPU型号识别方法图解
- Revealing Module(揭示模块)模式
- OSChina 周二乱弹 —— 这份躺着挣钱的工作
- 如何将fsdb波形转成csv等可读性文本格式
- js 导出word文档
- 插座测试仪的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 科研论文课程幕课习题(第一二章)
- DTT年度收官圆桌π,华为云8位技术专家的年末盘点
- TOP10! KubeCon + CloudNativeCon最受欢迎演讲视频
- zlib and gzip
- AD630锁相放大器 相敏检波器 微弱信号提取 原理图和PCB
- W7正在锁定计算机,win7输错密码锁定了怎么办 win7电脑被锁定的解锁方法
- 薪火培训电控第一讲——单片机与GPIO