使用txt java填充int数组

时间:2017-10-04 22:31:38

标签: java matrix java.util.scanner

您好我想用txt文件中的值填充数组,但运行程序时出现错误java.util.NoSuchElementException: No line found,这是我的代码。

private static void leeArchivo()
{
    Scanner s = new Scanner(System.in);
    //Size of the array
    int size = Integer.parseInt(s.nextLine());
    datos = new int[size];
    while (s.hasNextLine()) {
        for (int i = 0; i < size; i++) {
            //fill array with values
            datos[i] = Integer.parseInt(s.nextLine());
        }
    }
}

txt看起来像这样,第一行是数组的大小:

4

75

62

32

55

1 个答案:

答案 0 :(得分:1)

同时拥有while循环和for循环似乎是您遇到麻烦的原因。如果你确定你的输入是正确的,即。行数与第一个数字匹配,那么你可以这样做:

private static void leeArchivo()
{
    Scanner s = new Scanner(System.in);

    //Size of the array
    int size = Integer.parseInt(s.nextLine());
    datos = new int[size];

    for (int i = 0; i < size; i++) {
        //fill array with values
        datos[i] = Integer.parseInt(s.nextLine());
    }
}

在上面的代码中,没有对hasNextLine()进行测试,因为我们知道有下一行。如果你想安全地玩,请使用以下内容:

private static void leeArchivo()
{
    Scanner s = new Scanner(System.in);

    //Size of the array
    int size = Integer.parseInt(s.nextLine());
    datos = new int[size];

    int i = 0;
    while ((i < size) && s.hasNextLine()) {
        //fill array with values
        datos[i] = Integer.parseInt(s.nextLine());
        i++;
    }
}