我试图完成一个发票程序,我必须向用户询问一系列问题,但程序有时会一次询问一个以上的问题,在输入之前有效地跳过第一个问题可以返回,这是代码的一部分,它询问问题并在输出下面。
System.out.println("Please enter date of Event (dd/mm/yyyy): ");
ev.setDate(sc.nextLine());
System.out.println("Please enter Artist/Band name ");
ev.setArtist(sc.nextLine());
System.out.println("Please enter name of Venue for event ");
ev.setVenue(sc.nextLine());
System.out.println("Please enter name of city where event is being held: ");
ev.setCity(sc.nextLine());
如你所见,这显示如下,我不想要求用户不要放入空格,这看起来很可怕!
请为此活动条目选择您的参考号码:
001
请输入活动日期(年/月/日):
请输入艺术家/乐队名称(使用下划线,单词之间没有间距):
我甚至尝试了多个Scanner
甚至是Scanner
,但它似乎无法解决问题。
答案 0 :(得分:0)
在代码末尾添加sc.nextLine();
。它将释放缓冲区而不再跳转问题。 +1并接受它是否有效。