如何中断或继续用户输入的循环



我正在尝试编写一个代码,当输入y时循环,当输入n时停止,这就是我到目前为止所做的。

Scanner input = new Scanner(System.in);
do{ 
System.out.println("She sells seashells by the seashore.");
System.out.println("Do you want to hear it again?");
}while (input.hasNext());{
input.hasNext("y");
}

我不知道如何继续。

为了更易于阅读的代码,您可以使用布尔变量并根据将其赋值为true,您的输入等于<;y">条件

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
boolean stopFlag= false;
do{
System.out.println("She sells seashells by the seashore.");
System.out.println("Do you want to hear it again?");
String userInput =input.next();
if(!userInput.equals("y"))
stopFlag=true;
}while (!stopFlag);
}

你可以这样做:

Scanner input = new Scanner(System.in);
while(input.hasNext()) {
String temp = input.next();
if(temp.equals("y")) {
// if you need to do something do it here
continue; // will go to the next iteration
} else if(temp.equals("n")) {
break; // will exit the loop
}
}

如果你坚持使用do…然后你可以试试:

Scanner input = new Scanner(System.in);
do{ 
System.out.println("She sells seashells by the seashore.");
System.out.println("Do you want to hear it again?");
}while (input.hasNext() && !input.next().equals("n"));

最新更新