我已经找到一种使程序识别回文的方法,但是如果不是,则该程序将不会重复。
在提供的代码之前,我已经实现了此布尔值部分。
最初设置了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();
}
如果不是回文,我希望程序重复执行
答案 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");
希望这很有帮助。