无法使用for循环添加空格分隔的输入

时间:2017-04-12 10:20:13

标签: java for-loop nested

我正在尝试使用for循环将空格分隔的输入添加到hashmap但是我遇到了一些问题

    int G = s.nextInt();
    for (int i = 0; i < G; i++) {
        System.out.println("List girls qualities");     
        int j=1;
        String gir=s.next();
        String[] numbers = gir.split(" ");
        girlQualities=new HashMap<>();
        for (int x=0;x<numbers.length;x++)  
        {  
            int z=Integer.parseInt(numbers[x]);
            girlQualities.put(j,z); 
            j++;
        }
    }

当我使用nextLine()显示NumberFormatException时,即使现在它也无效。请帮我 我的目标是以这种方式添加数字

    3 
1 2 5 6 
1 2 3 4 5 
1 2 3 4 

1 个答案:

答案 0 :(得分:1)

这是因为Scanner#nextInt方法不消耗输入的最后一个换行符,因此在下次调用Scanner#nextLine

时会消耗该换行符

尝试

        int G = s.nextInt();
        s= new Scanner(System.in);

然后尝试nextLine()方法

参考Link