import java.util.Random; import java.util.Scanner; public class test { public static void main(String[] args) { int n; int number; int count=0; Scanner in = new Scanner(System.in); do { System.out.println("请问要计算多少道题目?"); number=in.nextInt(); System.out.println("你要进行多少位数的四则运算?"); n = in.nextInt(); } while (n < 1 && number>0); for(int i=0;i<number;i++){ int x = new Random().nextInt((int) Math.pow(10, n)) + 1; int y = new Random().nextInt((int) Math.pow(10, n)) + 1; int o = new Random().nextInt(4); float z = 0; float input; String c = "?"; boolean bigger = x > y ? true : false;// 小学生不会出现负数啊 switch (o) { case 0: c = "+"; z = x + y; break; case 1: c = "-"; if (bigger) z = x - y; else z = y - x; break; case 2: c = "*"; z = x * y; break; case 3: c = "/"; z = (float) x / y; break; default: System.out.println("error!"); } if (!bigger && c.equals("-")) System.out.print(y + c + x + "="); else System.out.print(x + c + y + "="); input = in.nextFloat(); if (input == z || (c.equals("/") && Math.abs(input-z)<0.01)){ System.out.println("算对了!"); count++; } else System.out.println("算错了!"); } System.out.println("一共计算"+number+"题,算对了"+count+"题,算错了"+(number-count)+"题,正确率为"+(float)count/number*100+"%"); } }