我正在开发一个程序,它从文件中读取数据并将其输入到数组中。好像它应该可以工作,但是我从程序得到一个奇怪的输出(没有错误,它运行,只是给我一个奇怪的结果)。
这是我的代码:
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
答案 0 :(得分:4)
你不能打印那样的数组。您获得的输出是来自toString()
的默认Object
输出哈希码。
您必须遍历它并打印每个String
for (String s : comps)
{
System.out.println(s);
}
答案 1 :(得分:0)
您正在正确读取文件,但以不正确的方式打印数组。
使用以下内容打印您的阵列。
for(int j =0;j<comps.length;j++)
{
System.out.println(comps[j]);
}