0

为什么这个循环不打印我保存在其他地方的 .txt 文件中的最后一行?它打印出除最后一行之外的所有行。

int count = 0;

Courses[] POS = new Courses[26];

while (scan.hasNext())
{
    POS[count] = new Courses(scan.nextLine());

    System.out.println(POS[count]);
    scan.nextLine();

    count++;
}
4

2 回答 2

1

你得到下一行两次。你很幸运它没有抛出 NPE 或其他异常:P

于 2013-01-30T20:31:39.723 回答
0

我认为问题在于,正如 demogolem 在评论中指出的那样,你打scan.nextLine()了两次电话。

如果您有偶数长度的行,这意味着这将打印出每隔一行。如果您的行长度为奇数,则意味着它将每隔一行打印一次,然后抛出异常(我相信 NoSuchElement?)

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html#nextLine

于 2013-01-30T21:05:06.270 回答