1.题目
写一个能自动生成三十道小学四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。
2.设计思想
首先利用循环控制生成题数,再用1 + (int) ( Math.random() * 100 )产生1-100的随机数,运算符为产生四个随机数分别代表加减乘除。整数时产生两个随机数并用运算符连接形成一个字符串,真分数则产生四个随机数并判断分子小于分母,用运算符连接形成一个字符串并输出。
3.源代码
import java.util.Scanner; public class Text1 { public static void main(String[] args){ System.out.println("请输入要生成的题数:"); Scanner N1=new Scanner(System.in); int n=N1.nextInt(); System.out.println("请输入出题的类型:(1.整数 2.真分数)"); Scanner N2=new Scanner(System.in); int n1=N2.nextInt(); if(n1==1) zhengsh(n); else if(n1==2) zhenfsh(n); else System.out.println("输入错误!"); } public static int random(int v) { int value=1+(int)(Math.random()*v); return value; } public static void zhengsh(int n) { int value1,ys,value2; String output="",ys1; for(int i=0;i<n;i++) { ys=random(4); value1=random(100); value2=random(100); if(ys==1) ys1="+"; else if(ys==2) ys1="-"; else if(ys==3) ys1="*"; else ys1="/"; output += value1 + " "+ys1 +" "+ value2+"="+" "; } System.out.println(output); } public static void zhenfsh(int n) { int value1,value2,value3,value4,ys; String output="",ys1; for(int i=0;i<n;) { ys=random(4); value1=random(100); value2=random(100); value3=random(100); value4=random(100); if(value1<value2&&value3<value4) { if(ys==1) ys1="+"; else if(ys==2) ys1="-"; else if(ys==3) ys1="*"; else ys1="/"; output+=value1+"/"+value2+" "+ys1+" "+value3+"/"+value2+"="+" "; i++; } } System.out.println(output); } }
4.实验结果截图