java 怎么随机取出5个0——10的不同随机数?要不同的

ava 怎么随机取出5个0——10的不同随机数?要不同的

public class TestRandom{
public static void main(String[] args){
Random a=new Random();
int s[]=new int[5];
for (int i = 0; i < s.length;) {
s[i]=a.nextInt(10);
if(CheckRandom(s,s[i],i)){
System.out.println("第"+(i+1)+"个随机数是:"+s[i]);
i++;
}
}
}
public static boolean CheckRandom(int c[],int t,int l){//检查生成的随机数是否存在与数组中
for (int i = 0; i < c.length; i++) {
if(c[i]==t&&l!=i){
return false;
}
}
return true;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-20
大概有2中思想
1:声明1个长度为5的数组第一次取出一个随即数放到数组中然后下标+1在取一个数和数组中的数做比较如果不同就放进去直到取到5个数
2:有个长度为10的数组里面放着0-10,每次生成一个0-9的随即数作为数组的下标然后把值取出来做个循环循环依次和循环中 数组[i]的值交换位置然后在取出数组的前5个数就行

不知道大家还有更好的方法没有有的话可以联系我
第2个回答  2013-09-20
import java.util.Random;

public class TestForRandom {

private Random r = new Random();

public static void main(String args[]){
TestForRandom t = new TestForRandom();
t.value();
}

public void value(){
for(int i = 0;i<5;i++)
System.out.println(generate());
}

public int generate(){
return r.nextInt(177);
}

}
第3个回答  2018-10-06
萌新首答
利用set集合属性:
@Test
public void testRandom(){
Random r=new Random();
Set<Integer> set=new HashSet<Integer>();
do{
int x=r.nextInt(10);
set.add(x);
}while(set.size()<5);
Iterator<Integer> it=set.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
}
希望可以对答主有帮助!
相似回答