加减乘除小程序,完整代码!

public class MathAccumulateRandom {
	public static void main(String[] args) {
		int index1=0;
		int index2=0;
		int score=0;
		Random rand=new Random();
		System.out.println("请开始答题,答对一题得10分,答错一题不得分,若输入-1,则退出程序");
		for (int i = 1; i <=10; i++) {
			int num=rand.nextInt(4)+1;
			Scanner scan=new Scanner(System.in);
			int a=rand.nextInt(101);
			int b=rand.nextInt(101);
			int plus=a+b;
			int multiply=a*b;
			
			switch (num) {
			case 1:
				System.out.println(a+"+"+b+"=?");
				System.out.println("请输入你的答案");
				int m=scan.nextInt();
				if (m==plus) {
					index1++;
					score+=10;
					System.out.println("恭喜你,你输入了正确答案:"+plus+",已经答对"+index1+"次,得分为"+score+"分");
				}else if (m==-1) {
					System.out.println("你输入了-1,退出程序");
//					return;   //return是回到上一层,而system.exit(status)是回到最上层
					System.exit(0);//方法里面为0,表示程序正常退出,如果为非0参数,表示非正常退出
					
				}else {
					index2++;
					System.out.println("很遗憾,正确答案为:"+plus+",你已经答错了"+index2+"次,本次不得分");
				}
				break;
			case 2:
				int c=rand.nextInt(101);
				int d=rand.nextInt(c);
				int subtract=c-d;
				System.out.println(c+"-"+d+"=?");
				System.out.println("请输入你的答案");
				int n=scan.nextInt();
				if (n==subtract) {
					index1++;
					score+=10;
					System.out.println("恭喜你,你输入了正确答案:"+subtract+",已经答对"+index1+"次,得分为"+score+"分");
				}else if (n==-1) {
					System.out.println("你输入了-1,退出程序");
					System.exit(0);
					
				}else {
					index2++;
					System.out.println("很遗憾,正确答案为:"+subtract+",你已经答错了"+index2+"次,本次不得分");
				}
				break;	
			case 3:
				System.out.println(a+"*"+b+"=?");
				System.out.println("请输入你的答案");
				int o=scan.nextInt();
				if (o==multiply) {
					index2++;
					score+=10;
					System.out.println("恭喜你,你输入了正确答案:"+multiply+",已经答对"+index1+"次,得分为"+score+"分");
				}else if (o==-1) {
					System.out.println("你输入了-1,退出程序");
					System.exit(0);
				}else {
					index2++;
					System.out.println("很遗憾,正确答案为:"+multiply+",你已经答错了"+index2+"次,本次不得分");
				}
				break;	
				
			case 4:
				double e=rand.nextDouble()*100+1;
				double f=rand.nextDouble()*100+1;
				DecimalFormat df=new DecimalFormat("#.00");
				String e1=df.format(e);
				String f1=df.format(f);
				e=Double.parseDouble(e1);
				f=Double.parseDouble(f1);
				String divi=df.format(e/f);
				double divide=Double.parseDouble(divi);
				System.out.println(e+"/"+f+"=?");
				System.out.println("请输入你的答案");
				double p=scan.nextDouble();
				if (p==divide) {
					index1++;
					score+=10;
					System.out.println("恭喜你,你输入了正确答案:"+divide+",已经答对"+index1+"次,得分为"+score+"分");
				}else if (p==-1) {
					System.out.println("你输入了-1,退出程序");
					System.exit(0);
				}else {
					index2++;
					System.out.println("很遗憾,正确答案为:"+divide+",你已经答错了"+index2+"次,本次不得分");
				}
				break;	
				
			default:
				break;
			}
		}
		System.out.println("本次测试共10题,你共答对了"+index1+"次,答错了"+index2+"次,共得分"+score+"分");

	}

}

猜你喜欢

转载自blog.csdn.net/u011174699/article/details/82812096