我希望我的应用程序将其信息从一个文本文件更新到另一个。它在我的代码中的另一个地方工作,但在这里,即使它看起来完全一样,它也不起作用。
程序会while
循环,直到文件没有nextLine
. 文件中的前 5 行是球员得分,后 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。