在java中从文件读取时显示错误的输出

时间:2014-11-26 08:12:09

标签: java

运行此程序会显示错误的输出。我的文件" 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();
    }
}

2 个答案:

答案 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++]);。我个人觉得更清楚。