日期:2014-05-20 浏览次数:20861 次
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个。