java程序不会等待请求用户输入
我遇到了一个问题,我的程序跳过了用户输入提示。相关代码如下:
System.out.format("Purchase price is $" + "%.2f%n", sum);
System.out.println("Proceed to payment? (y/n) ");
String proceed = keyboard.nextLine();
while(!proceed.equals("n") && (!proceed.equals("y"))) {
System.out.println("Invalid response. Try again.");
System.out.println("Proceed to payment? (y/n) ");
proceed = keyboard.nextLine();
if (proceed.equals("n")) {
System.out.println("Come back next time, " + name + ".");
System.exit(0);
}
else if (proceed.equals("y")) {`
输出应在以下位置暂停:
购买价格为x.00美元
继续付款?(是/否)
但实际上:
购买价格为x.00美元
继续付款?(是/否)
无效响应。再试一次
继续付款?(是/否)
有人能告诉我为什么忽略第一个扫描提示吗
编辑:代码是独立工作的,问题出在程序的其他地方。等我弄明白了我会回来报到的
# 1 楼答案
while循环条件中的这种逻辑是错误的
一定是
如果你想保持你的逻辑与条件,然后移动付款的同时,以便可以工作
例如: