猿问

我要判断出6个不同的随机数放进数组,哪里出问题了?

public class User {
public static void main(String[] args) {
int[] n=new int[6];
for (int i = 0; i < n.length; i++) {
int in=(int)((Math.random()*33)+6);
System.out.println(in);
for (int j = 0; j < n.length; j++) {
if(in!=n[j]){
n[j]=in;
  //
System.out.println(n[j]);
}

continue;

}

}

}
}

不负相思意
浏览 110回答 4
4回答

慕的地6264312

public class TestMath {/*** @param args*/public static void main(String[] args) {int [] a=new int [6];TestMath tm=new TestMath();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=1;i>0;i++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; if(0!=a[5]){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; break;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int c=tm.getRandom();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int cunm=tm.checkNum(a, c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(1==cunm){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int j = 0; j < a.length; j++) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //创建int数组 默认每个坐标上的值是为0;if(0==a[j]){a[j]=c;break;}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }//排序&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Arrays.sort(a);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i < a.length; i++) {System.out.print(a[i]+",");}}//产生数据数public int&nbsp; 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;}}

慕哥9229398

使用Math.random()来产生随机的几个数,HashSet可以创建一个不重复的集合

喵喔喔

Set set = new HashSet();for(int i = 0 ;i < 6 ; ){&nbsp;&nbsp;&nbsp; if(set.add(Math.random()*33+6)){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i++;&nbsp;&nbsp;&nbsp; }}int array = set.toArray();

慕运维8079593

首先,楼主在第二次判断时,你可以直接让j从0判断到i就可以了,因为整个数组n中后面的都还没有赋值呢。另外,可以先写一个一个Map或者List的集合类,把一个生成的随机数放进去,每次放的时候判断Map中是否存在。使用Map或者List的Contains方法。这样更方便些。另外,生成随机数,不知道楼主是为了生成小数还是整数,一般使用Random这个类,new一个出来,直接使用其nextInt()这一类的方法就好了。
随时随地看视频慕课网APP
我要回答