在我的代码中,我正在测试palidromes,但是我的输入变量并没有随着每次迭代而重置。测试在第一次运行时是完美的,但是在输入相同的情况下,结果是错误的。
Scanner input = new Scanner(System.in);
int i;
System.out.print("Enter a string: ");
String pal = input.nextLine();
String reverse = "";
boolean isFalse = false;
while (!isFalse) {
if (pal.isEmpty()) {
System.out.println("Empty line read - Goodbye!");
isFalse = true;
}
if (pal.length() > 0) {
for (i = pal.length() - 1; i >= 0; --i) {
reverse = reverse + pal.charAt(i);
}
if (pal.equals(reverse)) {
System.out.println(pal + " is a palidrome");
System.out.println();
} else {
System.out.println(pal + " is not a palidrome");
System.out.println();
}
System.out.print("Enter a string: ");
pal = input.nextLine();
}
}
pal是输入变量。在调试时,我打印了pal的结果。1331作为回文出现,但是当我重新输入1331时,程序输出了一个错误的语句。有什么建议吗?
编辑:我在while循环上面添加了其余的代码