具体需求如下: 1. 系统可以随机生成 10 道数学计算题,题目包括两个整数的加、减、乘、除运算(两个 整数为 10 以内的随机整数,四则运算符随机生成); 2. 被减数一定要大于减数,除数不能为 0; 3. 用户输入答案,当答案正确时,系统会给出提示,并将该题目的分数加入总分中,当 答案不正确时,系统会给出提示; 4. 10 道题满分 100 分,每答对一题加 10 分,答错不给分; 5. 10 道题做完后,系统能够给出最终得分和等级(优、良、中、及格、不及格); 6. 用户可以根据选择,开始下一轮测试或退出测试系统。用Java写出
时间: 2024-01-24 16:17:43 浏览: 38
以下是一个简单的实现,您可以根据实际需求进行修改和优化。
```java
import java.util.Random;
import java.util.Scanner;
public class MathQuiz {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random random = new Random();
int score = 0; // 总分
int count = 0; // 题目数量
while (true) {
// 随机生成题目
int num1 = random.nextInt(10) + 1;
int num2 = random.nextInt(10) + 1;
int result = 0;
char operator = '+';
switch (random.nextInt(4)) {
case 0:
result = num1 + num2;
break;
case 1:
if (num1 < num2) { // 被减数必须大于减数
int temp = num1;
num1 = num2;
num2 = temp;
}
result = num1 - num2;
operator = '-';
break;
case 2:
result = num1 * num2;
operator = '*';
break;
case 3:
while (num2 == 0) { // 除数不能为0
num2 = random.nextInt(10) + 1;
}
result = num1 / num2;
operator = '/';
break;
}
// 用户输入答案
System.out.print((count + 1) + ". " + num1 + " " + operator + " " + num2 + " = ");
int answer = sc.nextInt();
if (answer == result) {
System.out.println("答案正确,得分+10!");
score += 10;
} else {
System.out.println("答案错误!");
}
count++;
if (count == 10) {
break;
}
}
// 输出最终得分和等级
System.out.println("您的最终得分是:" + score);
if (score >= 90) {
System.out.println("恭喜您获得优秀的成绩!");
} else if (score >= 80) {
System.out.println("您的成绩良好!");
} else if (score >= 60) {
System.out.println("您的成绩一般般!");
} else if (score >= 40) {
System.out.println("您勉勉强强及格了!");
} else {
System.out.println("您的成绩不及格,请再接再厉!");
}
// 用户选择是否继续
System.out.print("是否开始下一轮测试?(y/n) ");
if (sc.next().equals("n")) {
System.out.println("感谢您的参与,测试结束!");
System.exit(0); // 退出程序
}
}
}
```