算术练习题(java)

    xiaoxiao2024-10-16  65

    package test; import java.util.Random; import java.util.Scanner; class Numbers{ int a; int b; int c; char d; int result; static Random r=new Random();//省内存 Numbers(int max){ this.a=r.nextInt(max); this.b=r.nextInt(max); this.c=r.nextInt(4); switch (c) { case 0: d = '+'; result = a + b; break; case 1: d = '-'; if (a < b) { Numbers.temp(this); } result = a - b; break; case 2: d = '*'; result = a * b; break; case 3: d = '/'; if (a < b ) { Numbers.temp(this); } if(b==0){ b=1; } result=a/b; a=result*b; break; } } public static void temp(Numbers n){ int t=n.a; n.a=n.b; n.b=t; } } public class problem { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请用数字输入你的年级:"); Scanner s = new Scanner(System.in); int grade = s.nextInt(); System.out.println("准备好开始作答:"); switch (grade) { case 1: deal(10); break; case 2: deal(20); break; case 3: deal(100); break; } } static void deal(int max) { int i = 0; while (true) { i++; Numbers n=new Numbers(max); System.out.println(" " + n.a + n.d + n.b + "= ");//不加" ",会被认为a+b的和 float input; Scanner scan = new Scanner(System.in); input = scan.nextInt(); while (input != n.result) { System.out.println("回答错误,请重新作答"); System.out.println(" " + n.a + n.d + n.b + "= "); input = scan.nextFloat(); } if (i % 5 == 0) { System.out.println("恭喜你,已经答对 " + i + " 道题了!!!"); } } } }
    最新回复(0)