我的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 随机出题四则运算相关推荐

  1. java 四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  2. java四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  3. java 时间生成字符串_java随机生成时间字符串的方法

    本文实例为大家分享了java随机生成时间字符串的具体代码,供大家参考,具体内容如下 package com.wechat.utils; import java.text.SimpleDateForma ...

  4. java四则运算器算法_java写的四则运算器

    本打算做一个从RE到NFA的转换器,思路已经理清了,但是在动手做的时候,遇到了很多问题,有些技术难点都遗忘了,包括如何定义闭包,如何利用递归来实现. 于是回头重新拾起这些技术,边学边思考,做了个四则运 ...

  5. 十以内的加减java编写程序_Java实现随机出题,10道10以内加减法计算代码实例

    本文实例为大家分享了Java实现随机出题,10道10以内加减法计算l的具体代码,供大家参考,具体内容如下 package com.swift; import java.awt.Toolkit; imp ...

  6. java小学生加减法_Java实现随机出题,10道10以内加减法计算代码实例|chu

    本文实例为大家分享了Java实现随机出题,10道10以内加减法计算l的具体代码,供大家参考,具体内容如下 package com.swift; import java.awt.Toolkit; imp ...

  7. java随机出题_Java实现随机出题,10道10以内加减法计算代码实例

    Java实现随机出题,10道10以内加减法计算代码实例 发布于 2020-3-10| 复制链接 摘记: 本文实例为大家分享了Java实现随机出题,10道10以内加减法计算l的具体代码,供大家参考,具体 ...

  8. java四则出题判分_C#编程之自动出题判分——c#学习实践

    本文主要向大家介绍了C#编程之自动出题判分--c#学习实践,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助. 1.程序功能自动出题-(程序随意给出10以内加减乘除)并且判断结果正确与否,正确 ...

  9. c语言小学生四则运算出题_C语言随机10以内四则运算

    Q1:c语言 设计小学生四则运算测试程序,要求随机产生10题四则运算题,答完后给出得分 #include#include#includevoid main() { int a[10],b[10],d[ ...

最新文章

  1. Cache 与Memory架构及数据交互
  2. POSIX多线程编程-条件变量pthread_cond_t
  3. 微信小程序开发-入门基础
  4. Spark _27_自定义函数UDF和UDAF
  5. oracle full table scan,ORACLE优化之执行规划(1) - TABLE FULL SCAN/INDEX FULL SCAN
  6. CentOS 7.4救援模式和忘记root密码
  7. 安装opencv_contrib(ubuntu16.0)
  8. amd 服务器cpu型号怎么看,AMD CPU型号识别方法图解
  9. Revealing Module(揭示模块)模式
  10. OSChina 周二乱弹 —— 这份躺着挣钱的工作
  11. 如何将fsdb波形转成csv等可读性文本格式
  12. js 导出word文档
  13. 插座测试仪的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  14. 科研论文课程幕课习题(第一二章)
  15. DTT年度收官圆桌π,华为云8位技术专家的年末盘点
  16. TOP10! KubeCon + CloudNativeCon最受欢迎演讲视频
  17. zlib and gzip
  18. AD630锁相放大器 相敏检波器 微弱信号提取 原理图和PCB
  19. W7正在锁定计算机,win7输错密码锁定了怎么办 win7电脑被锁定的解锁方法
  20. 薪火培训电控第一讲——单片机与GPIO

热门文章

  1. react native windows create bundle folder
  2. Python数据清理之数据质量
  3. 【U3D】掉落物设计
  4. Mybatis框架_part1
  5. 判断应用程序在前台还是后台
  6. 写个买卖小游戏,第1天(昨天)
  7. swift项目 9.3以前版本模拟器运行出错
  8. DictionaryTKey,TValue
  9. [c++基础] const char and static const char
  10. Linux技术学习要点,您掌握了吗---初学者必看