为什么这个循环不打印我保存在其他地方的 .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++;
}
为什么这个循环不打印我保存在其他地方的 .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++;
}
你得到下一行两次。你很幸运它没有抛出 NPE 或其他异常:P
我认为问题在于,正如 demogolem 在评论中指出的那样,你打scan.nextLine()
了两次电话。
如果您有偶数长度的行,这意味着这将打印出每隔一行。如果您的行长度为奇数,则意味着它将每隔一行打印一次,然后抛出异常(我相信 NoSuchElement?)
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html#nextLine。