在我的代码中,我正在测试回文,但我的输入变量不会在每次迭代时重置。测试第一次运行完美,但使用相同的输入,它出现错误。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循环上方添加了其余代码
1 回答
浮云间
TA贡献1829条经验 获得超4个赞
您应该reverse通过reverse = "";在 for 循环之前写入来重置变量:
reverse = "";
for (i = pal.length() - 1; i >= 0; --i) {
reverse += pal.charAt(i);
}
添加回答
举报
0/150
提交
取消