java随即数 数组中保存,读取

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:07:40
button.addActionListener(new ActionListener()
{
private int count=0;
String[] balls=new String[7];
public void actionPerformed(final ActionEvent e)
{
Random r=new Random();
String str="";
if(count<7)
{
int num=r.nextInt(36)+1;
str=String.valueOf(num);
balls[count]=str;
}
count++;
if(count==1){textField.setText(str);return;}
else if(count==2){textField_1.setText(str);return;}
else if(count==3){textField_2.setText(str);return;}
else if(count==4){textField_3.setText(str);return;}
else if(count==5){textField_4.setText(str);return;}
else if(count==6){textField_5.setText(str);return;}
else if(count==7){textField_6.setText(str);return;}
else{return;}
}
});
我想在把随即数保存到数组中,当下一个随机数产生时先读取数组中的数字,如果存在就跳出,不存在就继续保存到数组中
现在能保存,但是怎么比较还是有重复的数字出现

str=String.valueOf(num);
安我的理解你的意思,在后边这样写:
首先if(count<7)写成while(coutn<7)
再写个校验重复的代码
boolean bl=false;
for(int i=0;i<balls.length;i++){
if(balls[i].equals(str){
bl=true;
}
}
if(!bl){
balls[count]=str;
}

首先,你的随机数的个数确定吗?
如果不确定的话,应该动态的生成数组
换句话说就是先生成一个长度为10的数组
然后在每次调用比较方法的时候进行判断,看数组的长度是否接近10,如果接近的话,就应该生成新的数组
使用数组拷贝可以实现
其次校验重复的数字的代码,就像2楼给的一样
设定boolean类型的值
取到随即数后,遍历数组如果一样则置boolean类型的值为false或者true这要看你怎么设定while里面的判断了
如果不一样则保存

你是怎么写的程序
拿出来看看