我正在尝试从文本文件中读取整数并将其存储到数组中。文本文件显示为:

4
-9
-5
4
8
25
10
0
-1
4
3
-2
-1
10
8
5
8

但是,当我运行代码时,我会在控制台窗口中获得[I@41616dd6
public static void main(String[] args) throws IOException
    {
        FileReader file = new FileReader("Integers.txt");
        int[] integers = new int [100];
        int i=0;
        try {
            Scanner input = new Scanner(file);
            while(input.hasNext())
            {
                integers[i] = input.nextInt();
                i++;
            }
            input.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        System.out.println(integers);
    }

最佳答案

您正在打印出阵列的虚拟内存地址,而不是实际的阵列项:

您可以一张一张地打印出实际的数组项,如下所示:

// This construct is called a for-each loop
for(int item: integers) {
   System.out.println(item);
}

@akuhn正确指出Java为此提供了内置帮助器:
System.out.println(Arrays.toString(integers));

请注意,您需要添加:
import java.util.Arrays

在您的导入中可以正常工作。

09-11 11:33