为了账号安全,请及时绑定邮箱和手机立即绑定

每次迭代都不会重置输入变量

每次迭代都不会重置输入变量

慕斯709654 2021-09-29 17:45:06
在我的代码中,我正在测试回文,但我的输入变量不会在每次迭代时重置。测试第一次运行完美,但使用相同的输入,它出现错误。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);

}


查看完整回答
反对 回复 2021-09-29
  • 1 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信