Java随机生成加减乘除运算,并记录结果

题目描述

	从键盘输入一个整数n,生成n个两位数的加减法运算,要求从键盘录入结果。
	判断是否正确?最后生成成绩统计结果,列出标准答案
	输入要做的题目的数量:3
	1+5=?
	输入答案:7
	2+3=?
	输入答案:5
	5-6=?
	输入答案:2
	你答对了1道题,答错了2道题
	1+5=6,你的回答是7,错误
	2+3=5,你的回答是5,正确
	5-6=-1,你的回答是2,错误
	
	+,-,*,/
	0,1,2,3
 */

描述:参与运算的数字是随机生成的100以内的整数,运算的类型如:加减乘除都是随机生成的,利用随机数
默认:0代表加运算,1是减运算,2是乘运算,3是除运算
注:对面向对象不太属性,这里采用了c中的面向过程思想

实现代码:

public class HM2 {
	static Scanner scanner = new Scanner(System.in);

	public static void main(String[] args) {
		int n = 0;
		int a, b;
		int sum = 0;
		System.out.println("输入要做的题目的数量:");
		n = scanner.nextInt();
		int[] op = new int[n];
		int[] s = new int[n];
		int[] result = new int[n];
		String[] questions = new String[n];
		for (int i = 0; i < n; i++) {
			op[i] = (int) (Math.random() * 4); // 运算符
			a = (int) (Math.random() * 89) + 10; // 数a
			b = (int) (Math.random() * 89) + 10; // 数b
			System.out.println(a + getOp(op[i]) + b + "=?");
			System.out.println("输入答案:");
			s[i] = scanner.nextInt(); // 输入的答案
			result[i] = jisuan(a, b, op[i]); // 正确答案
			if (s[i] == result[i]) {
				sum++;
			}
			questions[i] = a + getOp(op[i]) + b + "=" + result[i];
		}
		// 最后的输出
		System.out.println("你答对了" + sum + "道题,答错了" + (n - sum) + "道题");
		for (int i = 0; i < n; i++) {
			System.out.print(questions[i]);
			if (s[i] == result[i]) {
				System.out.println(",你的回答是" + s[i] + ",正确");
			} else {
				System.out.println(",你的回答是" + s[i] + ",错误");
			}
		}
	}

	// 获取运算符
	private static String getOp(int index) {
		String string = "";
		switch (index) {
		case 0:
			string = "+";
			break;
		case 1:
			string = "-";
			break;
		case 2:
			string = "*";
			break;
		case 3:
			string = "/";
			break;
		}
		return string;
	}

	// 计算答案
	private static int jisuan(int a, int b, int index) {
		int sum = 0;
		switch (index) {
		case 0:
			sum = a + b;
			break;
		case 1:
			sum = a - b;
			break;
		case 2:
			sum = a * b;
			break;
		case 3:
			sum = a / b;
			break;
		}
		return sum;
	}
}

结果:
Java随机生成加减乘除运算,并记录结果_第1张图片

你可能感兴趣的:(Java)