HazzaCheng 2016-10-26 08:18 采纳率: 0%
浏览 5835

javahasNextLine()的终止条件

 private static ArrayList<Integer[]> inputMatirx() {
        ArrayList<Integer[]> matrix = new ArrayList<>();
        Scanner in = new Scanner(System.in);
        System.out.println("Please input the matrix.");
        while (in.hasNextLine()) {
            String[] row = in.nextLine().split(" ");
            Integer[] r = new Integer[row.length];
            for (int i = 0; i < row.length; i++) {
                r[i] = Integer.parseInt(row[i]);
            }
            matrix.add(r);
        }
        in.close();
        System.out.println("Input end.");
        return matrix;
    }

我想通过这个方法输入一个矩阵
但是每次输到最后一行按两次回车想结束输入时,会报错,请问如何解决?
图片说明

  • 写回答

3条回答 默认 最新

  • 飞的风筝 2022-03-18 22:23
    关注

    String line=sc.nextLine();
    if(line.length()>0){
    String[]arr=line.split(" ");
    for(int i=0;i<arr.length;i++){
    row.add(Integer.parseInt(arr[i]));
    }
    list.add(row);

            }else {
                break;
            }
    
    评论

报告相同问题?