Scanner hasNext和hasNextLine问题

大家能帮我看看嘛?为什么下面的代码,把while()循环里写sc.hasNext()可以把代码提交成功,而换成sc.hasNextLine()就无法提交成功,看了很久没找到原因所在,如果写成hasNextLine()会提示野指针那一类的错误,但是我没发现到底哪里越界了。谢谢大家
import java.util.*;
public class Main{
    public static void main(String[] args){        
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){           
        int len=sc.nextInt();
        int[] arrInt=new int[len];
        for(int i=0;i<len;++i){
        arrInt[i]=sc.nextInt();
        }
        List list=new ArrayList();
        for(int i=0;i<arrInt.length;++i){
            if(!(list.contains(arrInt[i]))){
                list.add(arrInt[i]);
            }
        }
        Collections.sort(list);
        for(Object o:list){
            System.out.println(o);
        }
        list.clear();
        }
    }
}

#华为#
全部评论
http://stackoverflow.com/questions/31993377/why-is-hasnext-false-but-hasnextline-is-true token 和 line 的区别 ?
点赞 回复 分享
发布于 2016-08-01 13:18
坐等大神来解答
点赞 回复 分享
发布于 2016-08-01 13:46
同求解答+1
点赞 回复 分享
发布于 2020-03-10 10:15
https://www.nowcoder.com/discuss/8050 解忧
点赞 回复 分享
发布于 2020-03-25 16:36

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务