我希望我的应用将其信息从一个文本文件更新到另一个文本文件。它在我的代码中的另一个地方工作,但在这里,即使它看起来完全一样,但它不起作用。
程序经过while
循环,直到文件没有nextLine
。文件中的前5行是玩家得分,第二行是玩家名称。我现在已经完全通过前五个工作了,但是当涉及名称时它会混乱:它在名称1中读取,错过名称2然后读取剩余的3.此时它突破了for loop
并重新启动while
循环,因为(我认为)该程序知道它错过了一行。然后它在名称2中读取并用它覆盖得分1,最后再尝试再次读取它崩溃。
while(!readDone)
{
System.out.println("!Done");
while (readFile.hasNextLine())
{
System.out.println("second While Loop");
for(int j = 0;j<10;j++)
{
if(j<5)
{
System.out.println("For Loop!" + j + "scores");
score[j] = readFile.nextLine();
System.out.println(score[j]);
}
if(j==5 || j>5)
{
System.out.println("For Loop!" + j + "names");
usernames[j-5] = readFile.nextLine();
System.out.println(usernames[j-5]);
}
}
System.out.println("Exit For Loop");
readDone = true;
}
System.out.println("Exit second while");
}
System.out.println("DONE");
关于为什么会出现上述代码的想法?我打印到LogCat控制台,所以我知道它缺少名称2。
答案 0 :(得分:0)
感谢亨利,我发现了这个问题。它将项目显示为预期的列表。然而,当我逐个字符地经历它时,名字后面有一个空格。这就是为什么它错过了六个而是打印出一个空白行。