程序如下,自己真看晕了,怎么看也没错啊各位给长长眼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方法

解决方案 »

  1.   

    验证方法
    在整个方法外面加一个循环(100次)把生成的数据放到map中最后查看map的size,如果小于20,证明你的代码有问题没有则ok(如果有,写一个双色球的,买彩票去)
      

  2.   


    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]); 
    }

    }
    }
    }
    }
      

  3.   

    ArrayList<Integer> list = new ArrayList<>();
    for(int i = 1; i <= 100; i++){ list.add(i);}
    Collections.shuffle(list);然后从list中取前20个。
      

  4.   

    for(int i=0;i<=20;i++)这里循环了21次。。数组大小也才20.。。
      

  5.   

    KAO,这样也行我怎么没想到 佩服!!