4 回答
TA贡献1817条经验 获得超6个赞
public class TestMath {
/**
* @param args
*/
public static void main(String[] args) {
int [] a=new int [6];
TestMath tm=new TestMath();
for(int i=1;i>0;i++){
if(0!=a[5]){
break;
}
int c=tm.getRandom();
int cunm=tm.checkNum(a, c);
if(1==cunm){
for (int j = 0; j < a.length; j++) {
//创建int数组 默认每个坐标上的值是为0;
if(0==a[j]){
a[j]=c;
break;
}
}
}
}
//排序
Arrays.sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+",");
}
}
//产生数据数
public int getRandom(){
return (int)((Math.random()*33)+6);
}
//判断该该数组中是不是存在这个随机数
public int checkNum(int[] a,int num){
for (int i = 0; i < a.length; i++) {
if(a[i]!=num){
return 1;
}
}
return -1;
}
}
TA贡献1735条经验 获得超5个赞
Set set = new HashSet();
for(int i = 0 ;i < 6 ; ){
if(set.add(Math.random()*33+6)){
i++;
}
}
int array = set.toArray();
TA贡献1876条经验 获得超5个赞
首先,楼主在第二次判断时,你可以直接让j从0判断到i就可以了,因为整个数组n中后面的都还没有赋值呢。
另外,可以先写一个一个Map或者List的集合类,把一个生成的随机数放进去,每次放的时候判断Map中是否存在。使用Map或者List的Contains方法。这样更方便些。另外,生成随机数,不知道楼主是为了生成小数还是整数,一般使用Random这个类,new一个出来,直接使用其nextInt()这一类的方法就好了。
添加回答
举报