public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// printing menu
System.out.println(menu);
boolean quit = false;
int selection;
do {
// next user input (of integer type) will be stored in the variable selection
selection = Integer.parseInt(scanner.next());
switch (selection) {
case 1:
System.out.println("Please enter a new record as John Michael West Doe, 574 Pole ave, St. Peter, MO, 63303, 3142752000");
scanner.useDelimiter(",");
Person[] people = new Person[0];
while (scanner.hasNext()) {
String fullName = scanner.next();
String street = scanner.next();
String city = scanner.next();
String state = scanner.next();
String zipC = scanner.next();
String phoneN = scanner.next();
System.out.println(fullName);
}
break;
case 2:
// method to delete record - remove
break;
case 3:
// search by telephone number
break;
case 4:
// find record by first name
break;
case 5:
// find record by last name
break;
case 6:
// update a record
break;
case 7:
quit = true;
break;
default:
System.out.println("Invalid");
}
} while (selection != 7);
}
嗨,我目前正在处理案例1 -我的问题是,我必须输入代码两次,它接受它,并打印出fullName字符串..
即使在开始时,当我进行选择并按1并回车时,我必须在弹出“请输入新记录......”行之前键入另一个键。
我刚刚了解了nextInt的作用以及它是如何留下新行的,所以我对它进行了解析,以便使用scanner.next();
我只是想知道你为什么要挂电话。
谢谢大家。
1条答案
按热度按时间t5fffqht1#
scanner.nextInt()
和Integer.parseInt(scanner.next())
之间没有区别,除了在输入流中的下一个标记不是整数时抛出的错误类型。你一定是误解了一些事情。我把你的代码粘贴到一个文件中,编译它,运行它,但无法重现你观察到的“我必须按回车键两次”的行为。我只按一次回车键,然后显示
Please enter...
。你的代码没有任何问题。至少,没有什么可以解释为什么你需要在这里双重输入。