小编yhs*_*dsd的帖子

扫描仪在if语句中无法正常工作

此代码提示用户通过键入Y或N(是/否)来确认预订.如果他们输入y或Y,它会调用一个方法setBooked(),该方法基本上只是将boolean变量"预订"设置为"真".在isBooked()刚刚返回boolean值,所以我可以之前测试/后,看它是否实际工作.

实际的代码确实没有像我预期的那样工作,如果你键入"y"它会立即正常工作但是如果你输入任何其他东西它会再次提示你,如果你键入"y"再次工作但是这次你键入任何东西否则它会停止并转移到下一个"客户"(方法被称为约8次)

所以基本上有一个原因是它提示用户两次而不是仅仅评估他们第一次输入"y"或"Y"的内容?

System.out.println(customer.isBooked());
System.out.println( "Confirm booking for " + customer.getName() + "(Y/N)");
Scanner scan = new Scanner(System.in);

if (scan.nextLine().equals("y") || scan.nextLine().equals("Y"))
    customer.setBooked();

System.out.println("Booked");
System.out.println(customer.isBooked());
Run Code Online (Sandbox Code Playgroud)

java if-statement java.util.scanner

0
推荐指数
1
解决办法
653
查看次数

标签 统计

if-statement ×1

java ×1

java.util.scanner ×1