一、题目:
请编写一个能自动生成小学四则运算题目的 “软件”。
让程序能接受用户输入答案,并判定对错。
最后给出总共以及 对/错 的数量。
二、基本要求:
所编写出来的“软件”选择界面设计,选择加、减、乘、除运算。
系统随机产生一百以内的两个数进行运算。
使用该软件时,用户从键盘输入结果,回答正确和回答错误都有提示,结束后系统会自动给出相应的总题数和 对/错 的数量。
三、需求分析:
程序能实现0~100以内的加法、减法、乘法以及除法的运算。
用户能在java控制窗口输入自己的答案,该程序能够判断用户所输入答案的对错。
测试结束后,程序能给出所做题目的数量以及所做题目对/错的数量。
四、设计:
定义五个变量分别是:e, r, a, b, c,其中e表示答错的题数,表示r表示答对的题数,a, b分别表示0~100之间随机产生的两个整数
使用Scanner类创建了多个对象并对不同的运算类型调用相应的方法。
加、减、乘、除用一个switch控制语句来实现,整个程序的实现在主函数中体现。
五、代码实现:
import java.util.Random;
import java.util.Scanner;
public class qq {
public static void main(String[] args) {
int e = 0, r = 0;
System.out.println("欢迎来到四则运算测试软件!");
System.out.println("做题前请认真读题,祝您考试愉快!");
Random r1 = new Random();
for (int i = 0; i < 7; i++) {
int m, n;
int a, b, c;
m = r1.nextInt() % 10;
n = m % 4;
switch (n) {
case 0:
a = new Random().nextInt((int) Math.pow(10, 2)) + 1;
b = new Random().nextInt((int) Math.pow(10, 2)) + 1;
System.out.println(a + "+" + "" + b + "=?");
Scanner x1 = new Scanner(System.in);
c = x1.nextInt();
if (c != a + b) {
e++;
System.out.println("回答错误!!");
} else {
r++;
System.out.println("回答正确!!");
}
break;
case 1:
a = new Random().nextInt((int) Math.pow(10, 2)) + 1;
b = new Random().nextInt((int) Math.pow(10, 2)) + 1;
System.out.println(a + "-" + " " + b + " =?");
Scanner x2 = new Scanner(System.in);
c = x2.nextInt();
if (c != a - b) {
e++;
System.out.println("回答错误!!");
} else {
r++;
System.out.println("回答正确!!");
}
break;
case 2:
a = new Random().nextInt((int) Math.pow(10, 2)) + 1;
b = new Random().nextInt((int) Math.pow(10, 2)) + 1;
System.out.println(a + "*" + " " + b + " " + "=?");
Scanner y1 = new Scanner(System.in);
c = y1.nextInt();
if (c != a * b) {
e++;
System.out.println("回答错误!!");
} else {
r++;
System.out.println("回答正确!!");
}
break;
case 3:
double d;
a = new Random().nextInt((int) Math.pow(10, 2)) + 1;
b = new Random().nextInt((int) Math.pow(10, 2)) + 1;
if (b == 0)
b++;
System.out.println(a + "/" + " " + b + " " + "=?");
Scanner y2 = new Scanner(System.in);
d = y2.nextDouble();
if (d != (a / b) / 1.00) {
e++;
System.out.println("回答错误!!");
} else {
r++;
System.out.println("回答正确!!");
}
break;
}
}
System.out.println("考试结束!!");
System.out.println("您一共做了:" + (r + e) + "道题目,其中正确的有" + r + "道,错误的有" + e + "道!");
}
}
六、程序效果图:
七、PSP耗时:
总结:老师刚开始布置作业的时候还没有明白是怎么回事,后来在第二次上机课的时候,老师再次的说明我才理解题目的意思。之前学过的相关计算机课程大部分都忘记了,程序中控制语句的用法以及java中类的用法也不怎么记得了,在写程序的过程中还好及时的查阅课本和资料、寻求同学和老师帮助才算完成。其中的不足之处还希望老师指出,以后继续努力!
相关文章
- 03-23四则运算--计应192陈涯涯
- 03-23快递计费---计应192西——第六组——陈欣欣
- 03-23四则运算--计应192古倩楠
- 03-23小学生四则运算(计应192陈莉莉)
- 03-23四则运算--计应192--琚江涛
- 03-23四则运算 计应192杨梦瑶
- 03-23四则运算个人开发流程-计应192第一组张明辉