本帖最后由 yijiulove 于 2010-04-21 13:28:20 编辑

解决方案 »

  1.   

    if(i==0){
                System.out.println("0");
            }
      

  2.   

    [code=Java]if(i==(n+1)){
                System.out.println("0");
            }/code]红色部分永远不可能,所以不会返回0?
      

  3.   

    楼下已经解释了,其实你这里还可以其他判断if(n=0)就是判断list的值为0,那就说明没有取到数据
    你原来的判断,i就算循环到结束,也不会n+1的,i的最大值就是n。
      

  4.   

    也就是说 上面定义的i是表示 如果能在表中查到满足条件的值 那么i就+1 如果没有查到合适的值 那么i的值为初置 0 ?还是其他解释啊
      

  5.   

    你这个判断是在循环之后的,如果你有1条数据(假设)这时n=list.size(),n就是1;
    你开始循环,第一次循环结束,i+1变成1,1<1不成立,循环结束,这时i的值是1
    也就是,循环结束的条件是i=n,或者i<n
    0条数据的情况也一样(循环不做,i还是0,n也是0)
    你原来的判断i==(n+1)是永远不会成立的