Java 在else子句启动之前退出具有sentinel值的do循环
我正在为学校的作业写一段代码。我已经完成了,它工作得很好,但有一件事困扰着我。如何在不打印非回文行的情况下退出do循环。我只知道这将是一个简单的解决方案,但似乎无法解决它。我在主类下面有一些其他的方法,但这在上下文中并不重要,所以我没有包括它Java 在else子句启动之前退出具有sentinel值的do循环,java,do-loops,Java,Do Loops,我正在为学校的作业写一段代码。我已经完成了,它工作得很好,但有一件事困扰着我。如何在不打印非回文行的情况下退出do循环。我只知道这将是一个简单的解决方案,但似乎无法解决它。我在主类下面有一些其他的方法,但这在上下文中并不重要,所以我没有包括它 import java.util.Scanner; public class Palindrome { public static void main(String[] args) { String userPhrase;
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
String userPhrase;
Scanner in = new Scanner(System.in);
do {
userPhrase = "";
System.out.print("Enter phrase (done to stop): ");
userPhrase = in.nextLine();
userPhrase = userPhrase.toLowerCase();
userPhrase = delSpecialChar(userPhrase);
if (palChecker(userPhrase)) {
System.out.println("That is a Palindrome\n");
} else {System.out.println("That is NOT a Palindrome\n");}
} while (!userPhrase.equals("done"));
in.close();
}
下面是我进入时的样子:
Enter phrase (done to stop): done
That is NOT a Palindrome
程序终止要退出循环,只需使用
break代码>如果我输入done,它会退出,但我不想让不是回文的行显示upso我会像这样添加这个if(userPhrase.equals(“done”){break;}else if(palChecker(userPhrase)){System.out.println(“那是回文”;}else{System.out.println(“那不是回文”;}
好的,我想出来了。非常感谢。我还在上学,所以像这样简单的事情会在我的脑海中飞过。我一直想知道,当你可以使用if break时,为什么会有一个循环中的条件。这似乎是违反直觉的,既然你这样解释,那就有道理了