实现一个能自动生成小学四则运算的程序。本程序用Java语言实现。本程序参考了原文:http://www.cnblogs.com/896702797-qw/p/5282480.html包括如下功能:
1.根据菜单选择四种基本运算的类型,然后生成100以内的两个整数的基本运算式。
2.除一些基本功能我扩展实现了一个倒计时功能。
源码如下:
1 package pro1; 2 3 import java.util.Random; 4 import java.util.Scanner; 5 6 public class EleArithmetic { 7 public static boolean flag; 8 public static int score=0; 9 public static void show_main(){ 10 System.out.println("1.直接开始下一题\n2.显示结果\n3.累计分数(一道题5分)\n4.结束"); 11 System.out.println("请输入你的选择:"); 12 } 13 public static String compare(double result){ 14 System.out.println("请输入结果:"); 15 Scanner scan=new Scanner(System.in); 16 double scan1=scan.nextDouble(); 17 if(result==scan1){ 18 flag=true; 19 score=score+5; 20 return "恭喜你算对了!"; 21 }else{ 22 flag=false; 23 return "很遗憾,你答错了!"; 24 } 25 } 26 public static void main(String[] args) { 27 System.out.println("请选择要随机生成的算法:"); 28 System.out.println("1.加法\t2.减法\t3.乘法\t4.除法\t"); 29 Scanner sc=new Scanner(System.in); 30 int s=sc.nextInt(); 31 double result=0; 32 Random r=new Random(); 33 int a=r.nextInt(100); 34 int b=r.nextInt(100); 35 while(b==0){ 36 b=r.nextInt(100); 37 } 38 switch(s){ 39 case 1: 40 System.out.println(a+"+"+b+"=?"); 41 result=a+b; 42 System.out.println(compare(result)); 43 show_main(); 44 break; 45 case 2: 46 System.out.println(a+"-"+b+"=?"); 47 result=a-b; 48 System.out.println(compare(result)); 49 show_main(); 50 break; 51 case 3: 52 System.out.println(a+"*"+b+"=?"); 53 result=a*b; 54 System.out.println(compare(result)); 55 show_main(); 56 break; 57 case 4: 58 System.out.println(a+"/"+b+"=?"); 59 float c=a; 60 float d=b; 61 result=c/d; 62 System.out.println(compare(result)); 63 show_main(); 64 break; 65 default: 66 System.out.println("输入有误,重新开始!"); 67 main(null); 68 break; 69 } 70 Scanner sc1=new Scanner(System.in); 71 int s1=sc1.nextInt(); 72 switch(s1){ 73 case 2: 74 System.out.println("本题的结果:"+result); 75 main(null); 76 break; 77 case 1: 78 main(null); 79 break; 80 case 3: 81 System.out.println("当前总分数:"+score); 82 main(null); 83 break; 84 case 4: 85 System.out.println("当前总分数:"+score); 86 System.out.println("谢谢参与!"); 87 break; 88 default: 89 System.out.println("输入有误,重新开始!\n"); 90 main(null); 91 break; 92 } 93 94 } 95 }
该小程序在eclipse上运行,得到如下结果截图:
本程序代码已经上传到我的个人GitHub上https://github.com/JingJiang0628/SWTask1/blob/master/src/pro1/EleArithmetic.java
时间: 2024-10-08 02:17:42