【发布时间】:2021-01-19 08:48:57
【问题描述】:
我目前正在尝试创建一个循环循环,用户输入值以添加到链接列表中。但是每次输入值中有一个空格时,它都会导致循环跳过标志 nextLine() 输入。
代码如下:
while(true)
{
System.out.println("Please enter product name: ");
productName = input.nextLine();
System.out.println("Please enter the Price: ");
price = input.nextDouble();
productList.addProduct(productName, price);
System.out.println("Are you done with this transaction? Y/N: ");
stopFlag = input.nextLine();
if(stopFlag.equalsIgnoreCase("y"))
break;
}
如果我输入“villainous”作为第一个字符串,然后输入 22.99 作为双精度值,它可以正常工作。然后我可以输入 y/n 退出。但!如果我说输入“Villainous exp”作为第一个字符串,第二个双输入工作正常,然后最后一个跳过,我得到如下输出:
请输入产品名称:
邪恶的经验
请输入价格:
22.99
您完成了这笔交易吗?是/否:
请输入产品名称:
我不知道如何让它不跳过底部输入或理解它为什么会这样做。
【问题讨论】:
标签: java input while-loop java.util.scanner