0

我正在开发一个从文件中读取数据并将其输入到数组中的程序。看起来它应该可以工作,但是我从程序中得到了一个奇怪的输出(没有错误,它运行,只是给了我一个奇怪的结果)。

这是我的代码:

    Scanner s = new Scanner(new File("../Computer/src/computers/computer.txt"));
    String[] comps = new String[2];

    int i = 0;

    while (s.hasNextLine()) {
        comps[i] = s.nextLine();
        i++;
    }
    s.close();

    System.out.println(comps);

我得到的输出是:

[Ljava.lang.String;@3d62b333
BUILD SUCCESSFUL (total time: 1 second)

另外,如果我的文本文件有问题,我的文本文件看起来像这样:

12344555 Dell Intel 499.99
23623626 Asus AMD 299.99
4

2 回答 2

4

你不能打印这样的数组。您获得的输出是输出哈希码的默认toString()Object

您必须遍历它并打印每个String

for (String s : comps)
{
    System.out.println(s);
}
于 2013-02-04T00:15:57.590 回答
0

您正在正确读取文件,但以不正确的方式打印数组。

使用下面打印您的阵列。

    for(int j =0;j<comps.length;j++)
    {
        System.out.println(comps[j]);
    }
于 2013-02-04T00:25:58.970 回答