软件工程个人作业01
题目:
学生的一个四则运算可以实现整数以及真分数,可以控制题目数并且可以查重。
程序设计思想:
改程序主要是运用random函数实现随机数,然后运用while循环实现输出,但是在查重时应该运用数组来控制比较题的重复性。
程序的源代码:
import java.util.Scanner;
public class AJCC {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc = new Scanner(System.in);
System.out.println("请输入练习量:");
int m=sc.nextInt();
System.out.println("整数练习"+"1");
System.out.println("真分数练习"+"2");
System.out.println("请选择练习方式:");
int t=sc.nextInt();
String[] x=new String[m];
String[] y=new String[m];
switch(t)
{
case 1:
{
int a,b,c,j=0;
boolean flag;
while(j<m)
{
a=(int)(Math.random()*100);
b=(int)(Math.random()*100);
c=(int)(Math.random()*4);
x[j]=new String();
if(c==1) x[j]=a+"+"+b+"=";
else if(c==2) x[j]=a+"-"+b+"=";
else if(c==3) x[j]=a+"*"+b+"=";
else x[j]=a+"/"+b+"=";
flag=true;
for(int k=0;k<j;k++)
{
if(x[k].equals(x[j]))
{
flag=false;
break;
}
}
if(flag)
{
System.out.println(x[j]);
j++;
}
}
break;
}
case 2:
{
int h,k,l,f,p;
boolean flag;
System.out.println(m);
int i=0;
while(i<m)
{
y[i]=new String();
h=(int)(Math.random()*100);
k=(int)(Math.random()*100);
f=(int)(Math.random()*100);
p=(int)(Math.random()*100);
l=(int)(Math.random()*4);
if(h<k&&f<p)
{
if(l==1) y[i]="("+h+"/"+k+")"+" + "+"("+f+"/"+p+")"+"=";
else if(l==2) y[i]="("+h+"/"+k+")"+" - "+"("+f+"/"+p+")"+"=";
else if(l==3) y[i]="("+h+"/"+k+")"+" * "+"("+f+"/"+p+")"+"=";
else y[i]="("+h+"/"+k+")"+" / "+"("+f+"/"+p+")"+"=";
flag=true;
for(int k1=0;k1<i;k1++)
{
if(y[k1].equals(y[i]))
{
flag=false;
break;
}
}
if(flag)
{
System.out.println(y[i]);
i++;
}
}
}
break;
}
}
}
}
程序运行结果图: