运行此程序会显示错误的输出。我的文件" values.txt"包含45678
和输出
运行程序后00000
。
import java.util.Scanner;
public class array{
public static void main(String[] args)throws IOException
{
final int SIZE = 6;
int[] numbers = new int[SIZE];
int index = 0;
File fl = new File("values.txt");
Scanner ab = new Scanner(fl);
while(ab.hasNext() && index < numbers.length)
{
numbers[index] = ab.nextInt();
index++;
System.out.println(numbers[index]);
}
ab.close();
}
}
答案 0 :(得分:4)
首先分配给numbers[index]
然后增加index
并输出numbers[index]
(对于下一个空值)。
交换index++
和System.out
来电。
答案 1 :(得分:4)
将index++
移至System.out.println
来电之后。
目前,您始终输出未分配的numbers
值。 (在Java中,int
数组中的每个元素都初始化为零。
另一种方法是完全放弃index++;
并写System.out.println(numbers[index++]);
。我个人觉得更清楚。