gpt4 book ai didi

java - 我正在做一个 do while 循环,它要求用户输入 ID,但在用户输入任何内容之前,它总是会在一个循环之后显示错误消息

转载 作者:行者123 更新时间:2023-12-02 01:10:12 24 4
gpt4 key购买 nike

我想让用户输入菜单ID

do {        
id = "";
System.out.print("Enter Menu ID : ");
id = sc.nextLine();
correctInput = false;
for (int i = 0; i < menu.length; i++){
if ((id.toUpperCase()).equals(menu[i].getMenuID()) {
correctInput = true;
//codes that comparing the user entered **ID** with **ID** in the array
//and get the quantity that user entered and calculate the total price
}
if (correctInput == false)
System.out.println("\nInvalid ID, please enter again!\n");
} while (correctInput == false);
//codes that ask user whether to add-on

当用户想要重复下订单时,它总是会在用户输入任何内容之前显示错误消息

Add-on? (Y/N) : y

Enter Menu ID :

Invalid ID, please enter again!

Enter Menu ID :

我能知道我的代码有什么问题吗?

最佳答案

从您共享的输入/输出片段来看,id = sc.nextLine() 似乎没有等待用户输入。如果您仍有输入排队,则可能会发生这种情况 - 例如,您使用 next() 读取“附加组件?(Y/N)”的“Y”但没有处理“Y”后面的换行符。您可以通过在 while 循环之前使用另一个 nextLine() before 来处理它,并忽略结果:

// Get rid of the queued newline character - return value can be ignored
sc.nextLine();

// Start the loop for reading the id:
do {
// code...

关于java - 我正在做一个 do while 循环,它要求用户输入 ID,但在用户输入任何内容之前,它总是会在一个循环之后显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59502597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com