public class LuckNumber {
public static void main(String[] args)
{
int[] arr = {1,2,3,4};
int pos = -1;
for(int x=0;x<arr.length-1; x++)//0,1,2这是x3次循环的值
{
for(int y=0; y<3;y++)//0,1,2这是y3次循环的 值
{
pos++;//pos=0,1,2;3,4/0,1;2/3,4/0,1/2/3 这里表示pos在循环中值的变化
//4/0表示pos值在下面的条件判断中发生变化,从4变成0
if(pos==arr.length)//避免pos越界
pos=0;
while(arr[pos]==0)//判断pos位元素是否为0,为0则pos顺延一位
{
pos++;
if(pos==arr.length)
pos=0;
}
}
arr[pos] = 0;//2,1,3这里是每次内层y循环3次之后POS出来的值
//System.out.println(arr[pos]);
}
for(int x=0; x<arr.length; x++)//0,1,2,3
{
if(arr[x]!=0)
{
System.out.println(arr[x]);
break;//有没有这句话结果都一样,数组最后是[1,0,0,0]
}
}
}
}
以上注释就是我对这个程序的理解 |