Java 可以在while循环中重复布尔表达式吗?

Java 可以在while循环中重复布尔表达式吗?,java,if-statement,while-loop,palindrome,Java,If Statement,While Loop,Palindrome,我已经找到一种方法让我的程序识别某个东西是否是回文,但当它不是回文时,程序将不会重复 在我提供的代码之前,我已经实现了这个函数的布尔部分 最初设置为if语句,希望替换为while,但类似while(!yespalin(potentialp))的东西也不起作用 Scanner scan=新的扫描仪(System.in); 弦电位; System.out.println(“请输入可能的回文:”); potentialp=scan.nextLine(); while(yespalin(potentia

我已经找到一种方法让我的程序识别某个东西是否是回文,但当它不是回文时,程序将不会重复

在我提供的代码之前,我已经实现了这个函数的布尔部分

最初设置为if语句,希望替换为while,但类似while(!yespalin(potentialp))的东西也不起作用

Scanner scan=新的扫描仪(System.in);
弦电位;
System.out.println(“请输入可能的回文:”);
potentialp=scan.nextLine();
while(yespalin(potentialp))
{
System.out.println(“该字符串是回文”);
}
而(!yespalin(potentialp))
System.out.println(“该字符串不是回文,请输入另一个:”);
potentialp=scan.nextLine();
}   

如果不是回文的话,我想让程序重复一遍。首先,我看到你在第二次使用时缺少了“{”

但是我不明白为什么需要2个while循环

如果您逐行阅读代码,就可以理解为什么第一个循环是唯一打印“正确”行的循环。 但是,如果您输入了错误的回文,它将永远不会进入第一个循环,因此不会打印所需的句子

你想要一个循环,如果你输入了正确的值,如果我没有弄错的话,这个循环就会结束 看起来是这样的:

Scanner scan = new Scanner(System.in);      
String potentialp;
System.out.println("Please enter a potential palindrome: ");
potentialp = scan.nextLine();

while (!yespalin(potentialp)){
    System.out.println("That string is not a palindrome, please enter another: ");  
    potentialp = scan.nextLine();  
}
System.out.println("That string is a palindrome"); 
希望能有所帮助