永发信息网

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

答案:4  悬赏:60  手机版
解决时间 2021-03-20 06:25
  • 提问者网友:记得曾经
  • 2021-03-20 03:04
java 怎么随机取出5个0——10的不同随机数?要不同的
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-03-20 04:41
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楼网友:千夜
  • 2021-03-20 06:50
大概有2中思想
1:声明1个长度为5的数组第一次取出一个随即数放到数组中然后下标+1在取一个数和数组中的数做比较如果不同就放进去直到取到5个数
2:有个长度为10的数组里面放着0-10,每次生成一个0-9的随即数作为数组的下标然后把值取出来做个循环循环依次和循环中 数组[i]的值交换位置然后在取出数组的前5个数就行

不知道大家还有更好的方法没有有的话可以联系我
  • 2楼网友:归鹤鸣
  • 2021-03-20 05:42
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楼网友:西风乍起
  • 2021-03-20 05:14
萌新首答
利用set集合属性:
@Test
public void testRandom(){
Random r=new Random();
Set set=new HashSet();
do{
int x=r.nextInt(10);
set.add(x);
}while(set.size()<5);
Iterator it=set.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
}
希望可以对答主有帮助!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯