题目:用java产生1-36中的6个互不相同的整数
解:
class Main {
public void Main(){
int j,i;
boolean flag=true;
int a[] =new int[6];
while(flag==true){
for(j=0;j<6;j++){
a[j]=(int)((6-1+1)*Math.random()+1);
}
for(i=0;i<5;i++){
for(j=i+1;j<6;j++){
if(a[i]==a[j])
flag=true;
else
flag=false;
}
}
}
for(i=0;i<6;i++)
System.out.println(a[i]);
}
}
public class random{
public static void main(String[] args){
Main b=new Main();
b.Main();
}
}
为什么这个程序产生的六个数中会有两个甚至两个以上的相同的数,请高手仔细分析一下这是为什么,并且该怎样改才能使之输出六个互不相同的整数。
分不多,请见谅。
万分感谢!!!
小弟是java初学者,请各位高手用简单的方法说明,因为java中的很多类我都不知道,更不要说使用它们了
我是想得到六个互不相同的数,有些回答的代码会产生几个相同的数。请看清我的问题再回答好么,还有5楼的答案我没有看懂,二楼的方法很好,但是对我这个初学者来说太高深了点。
怎样在我的代码基础上改动一下,使之能完成输出六个互不相同的数这个功能呢?
谁改好了必定给他加分,绝不食言。
java随机产生几个互不相同的数,可以通过设置布尔变量数组,如果存在,则置为false,如下代码:
public class MyRandom {