您好我想用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
答案 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++;
}
}