This program can automatically generate a specified number of addition, subtraction, and multiplication "three arithmetic" questions. The user can answer them. After the answer is completed, the number of correct answers, accuracy and The time spent.
First, we create a new class file named Calculate, and then we can type our code. Next, we first write a main function, and then the first step is to create a Scanner object to accept the number of questions entered by the user. Next, we define several variables to save the program information, that is, result saves the answer to the calculation, right saves the number of correct answers, and accuracy saves the accuracy. Next, start timing, and then create a Random object to generate random numbers. In the for loop, we control the range of random numbers by setting the number in the brackets of r.nextInt(). Then, we decide which arithmetic operation to perform through the three situations of the third random number. Next, determine whether the answer is consistent with the user's input and output a prompt message. Then end the timing and output the results.
import java.util.*; public class Calculate { public static void main(String[] args) { //接受用户输入 Scanner sc = new Scanner(System.in); System.out.println("请输入题目的数量:"); int n = sc.nextInt(); //result保存算式答案,right保存答对题数,accuracy保存准确率 int result = 0, right = 0; double accuracy; //开始计时 long startTime = System.currentTimeMillis(); //打印加减乘三种算式 Random r = new Random(); for (int i = 0; i < n; i++) { int i1 = r.nextInt(50); int i2 = r.nextInt(50); int i3 = r.nextInt(3); //判断进行哪种运算 if (i3 == 0) { System.out.println(i1 + "-" + i2 + "="); result = i1 - i2; } else if (i3 == 1) { System.out.println(i1 + "+" + i2 + "="); result = i1 + i2; } else { System.out.println(i1 + "*" + i2 + "="); result = i1 * i2; } //输出正确与否信息,同时判断是否增加答对题数 int a = sc.nextInt(); if (a == result) { System.out.println("答对了!"); right += 1; } else { System.out.println("答错了,继续加油!"); } } //计算准确率 accuracy = (right * 1.0 / n) * 100; //结束计时 long endTime = System.currentTimeMillis(); //输出成绩 System.out.print("恭喜你,一共答对了" + right + "题" + "," + "正确率:" + accuracy + "%" + "," + "用时:" + (endTime - startTime) / 1000 + "秒"); //关闭资源的使用,可不加 sc.close(); } }
The above is the detailed content of How to write a simple calculation test program based on Java. For more information, please follow other related articles on the PHP Chinese website!