0

我希望我的应用程序将其信息从一个文本文件更新到另一个。它在我的代码中的另一个地方工作,但在这里,即使它看起来完全一样,它也不起作用。

程序会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。

4

1 回答 1

0

感谢亨利,我发现了问题。它按预期将项目显示为列表。但是,当我逐个字符地浏览它时,名称后面有一个空格。这就是为什么它错过了六个并打印出一个空白行。

于 2013-02-11T17:03:25.397 回答