3

我是编程新手,我的扫描仪课程有问题。这段代码在一个循环中,当循环出现在第二个、第三个时,无论我将它设置为什么时间,它都会跳过第一个标题输入。我需要帮助,为什么它在一开始就跳过了我的标题扫描仪输入?

System.out.println("Title:");

list[i].title=keyboard.nextLine();

System.out.println("Author:");

list[i].author=keyboard.nextLine();

System.out.println("Album:");

list[i].album=keyboard.nextLine();

System.out.println("Filename:");

list[i].filename=keyboard.nextLine();
4

1 回答 1

1

很可能,在您没有向我们展示的代码中,存在对Scanner不使用换行方法的输入方法之一的调用。nextLine例如。在这种情况下,换行符将从循环结束传递到后续nextLine语句。这现在不会阻止已收到输入。解决方案是确保在每次迭代结束时使用换行符

// list[i].id = keyboard.nextInt();
list[i].id = Integer.parseInt(keyboard.nextLine());
于 2013-06-27T22:41:21.747 回答