首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

那位大侠可以帮小弟写一个用JAVA随即产生几个数的程序,出现的数不能重复,多谢

2011-12-06 
那位大侠可以帮小弟写一个用JAVA随即产生几个数的程序,出现的数不能重复,谢谢!比如1到10,这组数随即产生5

那位大侠可以帮小弟写一个用JAVA随即产生几个数的程序,出现的数不能重复,谢谢!
比如1到10,这组数随即产生5个数   不能重复。再次谢谢。

[解决办法]
//我的大概想法 如下
Set set = new AbstractSet();//Set接口不支持值重复 具体用哪个Set类合适 你可查下API
while(set.size() <=5){//取5个后结束
set.add(Math.random.nextInt(10));//取5个放入,重复的将不会被放入
}
[解决办法]
public class C {
//public void getAdd() {
//System.out.println();
//}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int total=2000000;
int g=1000;
int f;
int a[]=new int[1000];
int k=0;
L1:for(int i=1000;i> 1;i--,k++){
Random rnd = new Random();
f=rnd.nextInt(total/g);
if(k==0){
total=total-f;
g=g-1;
a[k]=f;
System.out.println(f);
} else {
for (int j = 0; j < k; j++) {
if (f == a[j]) {
i=i+1;
k=k-1;
continue L1;
}else if(f <=1){
i=i+1;
k=k-1;
continue L1;
}
}
total = total - f;
g = g - 1;
a[k]=f;
System.out.println(f);
}
}

System.out.println(total);

}

}
[解决办法]
用Math.random()函數應該可以實現這個功能!~
[解决办法]
Random rand = new Random();
int i = rand.nextInt();
System.out.println(i);
System.out.println( "the frist method ");
int n =10;
i= rand.nextInt(n+1);
System.out.println(i);
System.out.println( "the second method ");
long seed = rand.nextLong();
rand = new Random(seed);
Random rand2 = new Random(seed);
System.out.println(rand2.nextLong());

基本思路..上面那位写得不错.
[解决办法]
Math.radom();
[解决办法]
Random rand = new Random();
[解决办法]
Set <Integer> s = new HashSet <Integer> ();
while (s.size() < 5){
int nextInt = new Random().nextInt(10);
s.add(nextInt);
}
[解决办法]
Math.radom()即可实现.

热点排行