Java该程序实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。
时间: 2023-05-28 20:01:46 浏览: 101
以下是该程序的实现:
```java
import java.util.Random;
import java.util.Scanner;
public class MathQuiz {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
int score = 0;
for (int i = 1; i <= 10; i++) {
int a = random.nextInt(100) + 1;
int b = random.nextInt(100) + 1;
int c = random.nextInt(2); // 0 for +, 1 for -
System.out.print(i + ". ");
if (c == 0) {
System.out.print(a + " + " + b + " = ");
int answer = scanner.nextInt();
if (answer == a + b) {
score++;
System.out.println("Right!");
} else {
System.out.println("Wrong! The answer is " + (a + b));
}
} else {
System.out.print(a + " - " + b + " = ");
int answer = scanner.nextInt();
if (answer == a - b) {
score++;
System.out.println("Right!");
} else {
System.out.println("Wrong! The answer is " + (a - b));
}
}
}
System.out.println("Your score is " + score + "/10");
}
}
```
程序流程:
1. 创建一个 `Scanner` 对象和一个 `Random` 对象,用于读取键盘输入和生成随机数。
2. 初始化得分为 0。
3. 循环十次,每次随机生成两个 1 到 100 之间的整数和一个 0 或 1 的随机数,表示加法或减法。
4. 输出题目,等待输入答案。
5. 如果输入答案等于正确答案,得分加一,输出“Right!”;否则输出“Wrong! The answer is xxx”。
6. 循环结束后输出得分。
注意事项:
1. 为了生成 1 到 100 的随机整数,需要使用 `nextInt(100) + 1`。
2. 如果使用 `nextInt(101)`,则实际生成的数范围是 0 到 100,需要加 1 才能变成 1 到 101。
阅读全文