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

时间:2019-05-13 01:50:35

标签: java if-statement while-loop palindrome

我已经找到一种使程序识别回文的方法,但是如果不是,则该程序将不会重复。

在提供的代码之前,我已经实现了此布尔值部分。

最初设置了if语句,想用while代替,但是while(!yespalin(potentialp))之类的东西也不起作用

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 a palindrome");  
}
while (!yespalin(potentialp))
    System.out.println("That string is not a palindrome, please enter another: ");  
    potentialp = scan.nextLine();
}   

如果不是回文,我希望程序重复执行

1 个答案:

答案 0 :(得分:0)

对于初学者来说,我看到您第二秒钟缺少了“ {”。

但是我并不确定要为什么需要2个while循环。

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

您想要1个循环,如果我没有记错,则输入正确的值将结束 看起来像这样:

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"); 

希望这很有帮助。