您的位置:首页 > 其它

软件工程个人作业01

2016-03-07 15:15 232 查看

软件工程个人作业01

思想:

定义5个int型的数组,长度为题目数;

其中有4个取1到99的随机数,分别代表前一个数的分子和分母,后一个数的分子和分母;

另一个取0到3的随机数,分别代表运算符 + - * / ;

定义一个int型的数,取0和1的随机数,代表整数和分数;

检查是否有重复的数,有进行修改,无不修改;

根据符合的随机数,输出题目

程序:

package test;
import java.util.Random;
public class test {

public static void main(String[] args) {
// TODO Auto-generated method
int[] a1 = new int[30];
int[] a2 = new int[30];
int[] b1 = new int[30];
int[] b2 = new int[30];
int[] c = new int[30];
int d;
String[] sz1 = new String[30];
String[] sz2 = new String[30];

for(int i=0;i<30;i++)
{
Random rand = new Random();
a1[i]=rand.nextInt(100)+1;   //前一个数的分子
a2[i]=rand.nextInt(100)+1;   //前一个数的分母
b1[i]=rand.nextInt(100)+1;   //后一个数的分子
b2[i]=rand.nextInt(100)+1;   //后一个数的分母
c[i]=rand.nextInt(4);    //符号的随机代表数

d=rand.nextInt(2);    //整数和分数的随机代表数
if(d==0)
if(a1[i]>a2[i])
sz1[i]=" "+a1[i]+"/"+a2[i];
else
if(a1[i]<a2[i])
sz1[i]=" "+a2[i]+"/"+a1[i];
else
sz1[i]=" "+a1[i];
else
sz1[i]=" "+a1[i];

d=rand.nextInt(2);    //整数和分数的随机代表数
if(d==0)
if(b1[i]>b2[i])
sz2[i]=" "+b1[i]+"/"+b2[i];
else
if(b1[i]<b2[i])
sz2[i]=" "+b2[i]+"/"+b1[i];
else
sz2[i]=" "+b1[i];
else
sz2[i]=" "+b1[i];

for(int j=0;j<i;j++)
{   //检查是否有重复的算式
if(sz1[i]==sz1[j])    //检查前一个数是否重复
if(sz2[i]==sz2[j])    //检查后一个数是否重复
if(c[i]==c[j])    //检查运算符号是否重复
{
a1[i]=rand.nextInt(100)+1;
a2[i]=rand.nextInt(100)+1;
d=rand.nextInt(2);    //整数和分数的随机代表数
if(d==0)
sz1[i]=" "+a1[i]+"/"+a2[i];
else
sz1[i]=" "+a1[i];
}
}

if(c[i]==0)    //如果符号的随机代表数是0,符号为+
System.out.println(i+1+":"+sz1[i]+" +"+sz2[i]+"=");
if(c[i]==1)    //如果符号的随机代表数是1,符号为-
System.out.println(i+1+":"+sz1[i]+" -"+sz2[i]+"=");
if(c[i]==2)    //如果符号的随机代表数是2,符号为*
System.out.println(i+1+":"+sz1[i]+" *"+sz2[i]+"=");
if(c[i]==3)    //如果符号的随机代表数是3,符号为/
System.out.println(i+1+":"+sz1[i]+" /"+sz2[i]+"=");
}
}
}


截图:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: