像二柱子那样,花二十分钟写一个能自动生成三十道小学四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。
设计思想:
利用随机数随机生成两个整数以及一个运算符(仅限于加减乘除),输入结果判断是否正确,记录答对的次数,用for循环语句生成指定数目的题目。
源代码:
//信1605-2.邢全阳.20163590
package timu;
import java.util.Random;
import java.util.Scanner;
public class timu
{
public static void main(String[] args)
{
int k = 0;
Scanner in = new Scanner(System.in);
System.out.println("请输入要生成的题目数:");
int j=in.nextInt();
for(int i=0;i<j;i++)
{
int a=suiji();
int b=suiji();
int t= yunsuanfu();
if(t>=1||t<=4)
{
if(t==1)
{//加法
System.out.print(a+"+"+b+"=");
int c = in.nextInt();
if(a+b==c)
{
System.out.println(" true");
k++;
}
else
{
System.out.println(" false");
}
}
else if(t==2)
{//减法
System.out.print(a+"-"+b+"=");
int c = in.nextInt();
if(a-b==c)
{
System.out.println(" true");
k++;
}
else
{
System.out.println(" false");
}
}
else
{//除法
System.out.print(a+"/"+b+"=");
int c = in.nextInt();
if(a/b==c)
{
System.out.println(" true");
k++;
}
else
{
System.out.println(" false");
}
}
}
}
System.out.println("您一共答对了"+k+"道题");
}
public static int suiji()
{//随机生成两个0-100的整数
int a;
Random random=new Random();
a=(int) ( random.nextInt(100));
return a;
}
public static int yunsuanfu()
{//随机生成运算符
int b;
Random random=new Random();
b=(int) ( random.nextInt(4));
return b;
}
}
测试截图:
bug分析:未按时完成,代码设计未完善,部分函数未完成封装,写在主函数内,不能实现“支持真分数的四则运算(需要验证结果的正确性)、题目避免重复”的功能,我会尽快补充完整。