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

相关推荐

头像
05-14 12:29
安卓
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务