小学校四則演算
6258 ワード
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+"%");
}
}