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

从100里随机生成20个不重复的数,该怎么处理

2012-01-21 
从100里随机生成20个不重复的数程序如下,自己真看晕了,怎么看也没错啊各位给长长眼import java.util.Rando

从100里随机生成20个不重复的数
程序如下,自己真看晕了,怎么看也没错啊各位给长长眼



import java.util.Random;

public class SC {
public static void main(String args []){
int randomNum;
int b []=new int[20]; 
for(int i=0;i<=20;i++){
b[i]=0;
}
for(int i=0;i<=20;i++){
for(int j=0;j<=i;j++){
randomNum=1+(int)(Math.random()*100);


if(b[j]==randomNum ){
break;
}
if(j==i){
b[j]=randomNum;
System.out.println("第"+(j+1)+"个整数是"+b[j]);
}

}
}
}
}


编译完说数组下标越界 还有找不到main方法

[解决办法]

Java code
import java.util.Random;class SC {    public static void main(String args [])    {        int randomNum;        int b []=new int[20];          for(int i=0;i<20;i++) //数组越界,应该是i<20(数组元素从0到19)        {            b[i]=0;        }        for(int i=0;i<20;i++)//数组越界                        {            for(int j=0;j<=i;j++)            {                randomNum=1+(int)(Math.random()*100);                    if(b[j]==randomNum )                {                    break;                }                if(j==i)                {                    b[j]=randomNum;                    System.out.println("第"+(j+1)+"个整数是"+b[j]);                 }                }        }    }}
[解决办法]
ArrayList<Integer> list = new ArrayList<>();
for(int i = 1; i <= 100; i++){ list.add(i);}
Collections.shuffle(list);

然后从list中取前20个。

热点排行