package jlesson.lesson1.ch01;
public class Test1
{
public static void main(String[] args)
{
int j[]=new int[10];
outer:
for(int i=0;i<10;i++)
{
j[i]=(int)(Math.random()*10+1); //生成10个1-10不同的数
for(int k=0;k<=i;k++) //比较是否有相同的
{
if(j[i]==j[k])
{i--;continue outer;}
}
}
for(int m=0;m<10;m++) //显示
{System.out.println(j[m]);}
}
}
看下具体的异常信息
if判断内为什么i要递减?
i作为外层循环的产量,在递增。
不是i=i-1的问题
问题是for(int k=0;k<=i;k++)中不能是 k<=i ,应该是 k<i
for(int k=0;k<i;k++) //比较是否有相同的
这是要随机的值j[i]与数组中下标i之前的值比较。不能是j[i]与j[i]自己比较
不然每次都是j[i]==j[i]都会相等, 每次都i--就死循环了