gpt4 book ai didi

java - do-while 循环跳过代码

转载 作者:行者123 更新时间:2023-12-01 23:28:36 25 4
gpt4 key购买 nike

我在这里遇到了这个 do-while 循环的问题。第一次运行很顺利,但第二次要求输入国家/地区后,就不让我输入了。有什么帮助吗?

import java.util.*;

public class UseList
{
public static void main(String[] args)
{
Scanner userInput = new Scanner(System.in);
ListInterface<String> list = new ArraySortedList<String>();
String country, flag;
char flagCharred;

do
{
System.out.print("Enter a country you've visited: ");
country = userInput.nextLine();
list.add(country);

System.out.print("\n" +list);

System.out.print("\nAdd another country?: Y/N ");
flag = userInput.next();
flagCharred = flag.charAt(0);
}
while (flagCharred == 'y' || flagCharred == 'Y');
}
}

最佳答案

next 消耗行尾,因此它将在下一个nextLine中被消耗。

例如,当您编写 Y 作为第二个输入时,您实际上是在编写 Y 并按 enter,这是 '\n' 字符,next 将读取 Y'\n' 将作为nextLine 导致它,因此请跳过您想要的“真实”输入。


一种解决方案是将 next 更改为 nextLine

关于java - do-while 循环跳过代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19651992/

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