回文检查器 - 间距

Palindrome checker - spacing

我有一个程序,我在其中输入 Java 程序来检查输入的字符串是否为回文。我有 2 个问题,我似乎一辈子都无法解决。

我已经输入了代码,这样它会告诉我它是否是一个回文,当所有小写字母不涉及 space 时。任何时候我在其中任何地方输入一个带有 space 的回文,它都会告诉我这不是回文。我想我只是缺少一小段代码来让它工作。

import java.util.Scanner;

public class HW3 {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);

        String word;
        String backwards = "";

        System.out.println("Enter a word or phrase and I'll tell you if it's a palindrome");
        word = keyboard.nextLine();

        int length = word.length();

        for (int i = length - 1; i >= 0; i--) {
            backwards = backwards + word.charAt(i);
        }

        if (word.equalsIgnoreCase(backwards)) {
            System.out.println(word + " is a palindrome!");
        }
        else {
            System.out.println("That is not a palindrome!");
            System.exit(0);
        }

        System.out.println("Done!");
    }
}

您的程序按预期运行。 (至少 期望它如何工作;"taco cat" 不等于 "tac ocat" 所以它不应该被视为回文。)

如果你想忽略空格,你可以这样做

word = word.replaceAll("\s", "");

在读取输入字符串之后。

你似乎想从你的强中删除空格。为此,请使用 replace() 方法:

word.replace(" ", "");

尝试在执行回文检查之前删除所有空格。

word = word.replaceAll("\s","");