题目:写一个能自动生成三十道小学四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。
设计思想:利用循环控制生成题数;1 + (int) ( Math.random() * 100 )产生1-100的随机数;运算符为产生四个随机数分别代表加减乘除;整数,产生两个随机数并用运算符连接形成一个字符串;真分数,产生四个随机数并判断分子小于分母,用运算符连接形成一个字符串并输出。
源代码:
1 import java.util.Scanner; 2 3 public class Szys { 4 5 public static void main(String[] args) { 6 7 System.out.println("请输入要生成的题数:"); 8 Scanner N = new Scanner(System.in); 9 int n=N.nextInt(); 10 System.out.println("请输入出题的类型:(1.整数 2.真分数)"); 11 Scanner N1 = new Scanner(System.in); 12 int n1=N1.nextInt(); 13 14 if(n1==1) zheng(n); 15 else if(n1==2) zhenfs(n); 16 else System.out.println("输入错误!"); 17 } 18 19 public static int random(int v) 20 { 21 int value=1 + (int) ( Math.random() * v ); 22 return value; 23 } 24 public static void zheng(int n) 25 { 26 int value1,ys,value2; 27 String output = "",ys1; 28 29 for ( int i = 0; i < n; i++ ) 30 { 31 value1 = random(100); 32 value2 = random(100); 33 ys = random(4); 34 35 if(ys==1) ys1="+"; 36 else if(ys==2) ys1="-"; 37 else if(ys==3) ys1="*"; 38 else ys1="/"; 39 output += value1 + " "+ys1 +" "+ value2+"="+" "; 40 } 41 System.out.println(output); 42 } 43 public static void zhenfs(int n) 44 { 45 int value1,value2,value3,value4,ys; 46 String output = "",ys1; 47 48 for ( int i = 0; i < n; ) 49 { 50 value1 = random(100); 51 value2 = random(100); 52 value3 = random(100); 53 value4 = random(100); 54 ys = random(4); 55 56 if(value1 < value2 && value3 < value4) 57 { 58 if(ys==1) ys1="+"; 59 else if(ys==2) ys1="-"; 60 else if(ys==3) ys1="*"; 61 else ys1="/"; 62 63 output += value1+"/"+value2+" "+ys1+" "+value3+"/"+value2+"="+" "; 64 i++; 65 } 66 } 67 System.out.println(output); 68 } 69 }
实验结果截图:
上课按时完成。