我正在读取文件并将它们存储到数组中....
f = new File("some file");
try {
s = new Scanner(f);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String theWord [] = new String[100];.
while(s.hasNext()){
int i=0;
theWord[i]=s.next();
//print
System.out.println(theWord[i]);
i++;
}
System.out.println(theWord[0]);
System.out.println(theWord[1]);
假设该文件包含:Hello Programmer。 输出是:
Hello
programmer
programmer
null
最后两行让我感到困惑。它表明,当零索引应该是hello而1索引应该是程序员时,theWord的0索引是程序员,1索引是null。
任何帮助?
答案 0 :(得分:4)
你需要搬家:
int i=0;
循环之外。您始终更新theWord[0]
值。
答案 1 :(得分:3)
您正在i
循环中重新初始化0
到while
,因此每次都会覆盖数组的0 th 元素。< / p>
while(s.hasNext()){
int i=0; // Move this outside the while loop