我试图将文件的内容放入数组中。文件内容是正整数和负整数。
这就是我所做的,以确定我应该制作多大的数组。 inFile是我的扫描仪。我能够打印inFile的内容,但是他们不会进入数组。我只是得到空值。
int arrayLength = 0;
while (inFile.hasNextInt()){
inFile.nextInt();
arrayLength++;
}
这就是我试图将文件内容放入数组中。
int[] nums = new int[arrayLength]; //make array according to arrayLength
inFile.reset();
//fill array with values from file
for (int n = 0; n > arrayLength; n++) {
nums[n] = inFile.nextInt();
}
感谢您的帮助。
答案 0 :(得分:0)
当您在第一个循环中使用nextInt()
时,您正在“移动”您的流上的虚拟光标,而您又无法再返回。
假设您输入的内容如下:
17
-15
13
然后,当您第一次呼叫nextInt()
时,光标从17移动到-15。因此,在每个循环中调用nextInt()
必然会导致在第二个循环中具有空值。
你应该尝试使用dynamic arrays或者列表(没有固定大小)