Java 算术测试程序代码解析 - 随机生成加减法题目
这段代码是一个算术测试程序,它会随机生成 10 道加法或减法题目,然后要求用户输入答案,并给出相应的回答是否正确以及得分。
代码分析如下:
-
导入了
java.util.Random和java.util.Scanner两个类。 -
创建了
Scanner对象scanner,用于读取用户输入。 -
创建了
Random对象random,用于生成随机数。 -
定义了一个变量
score来保存用户的得分,初始值为 0。 -
使用
for循环生成 10 道题目。 -
在每次循环中,使用
random.nextInt(100) + 1生成两个 1 到 100 之间的随机数num1和num2。 -
使用
random.nextInt(2)生成 0 或 1 的随机数operator,0 代表加法,1 代表减法。 -
根据
operator的值,设置operatorStr为 '+' 或 '-',并计算出正确答案answer。 -
输出题目,并要求用户输入答案。
-
判断用户输入的答案是否等于正确答案,如果相等,则输出回答正确,并将得分加 10;否则输出回答错误,并显示正确答案。
-
循环结束后,输出用户的得分。
总结:这段代码使用了 Scanner 和 Random 类来实现一个简单的算术测试程序,通过随机生成题目和读取用户输入来进行测试,并根据用户的回答给出相应的回答是否正确以及得分。
import java.util.Random;
import java.util.Scanner;
class ArithmeticTest {
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 num1 = random.nextInt(100) + 1;
int num2 = random.nextInt(100) + 1;
int operator = random.nextInt(2); // 0 代表加法,1 代表减法
String operatorStr;
int answer;
if (operator == 0) {
operatorStr = '+';
answer = num1 + num2;
} else {
operatorStr = '-';
answer = num1 - num2;
}
System.out.print("第" + i + "题: " + num1 + operatorStr + num2 + " = ");
int userAnswer = scanner.nextInt();
if (userAnswer == answer) {
System.out.println("回答正确!");
score += 10;
} else {
System.out.println("回答错误!正确答案是:" + answer);
}
}
System.out.println("您的得分是:" + score);
}
}
原文地址: https://www.cveoy.top/t/topic/fOuD 著作权归作者所有。请勿转载和采集!