回文检查 - 间距

时间:2015-02-08 20:24:27

标签: java palindrome

我有一个程序,我正在键入一个Java程序来检查输入的字符串是否是回文。我有两个问题,我不能为我的生活似乎弄清楚。

我输入了代码,以便当所有小写字母都没有涉及空格时它会告诉我它是否是回文。任何时候我进入一个有空间的回文,它会告诉我它不是回文。想想我只是缺少一小段代码才能使它发挥作用。

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!");
    }
}

3 个答案:

答案 0 :(得分:1)

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

word.replace(" ", "");

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

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

word = word.replaceAll("\\s", "");
读取输入字符串后立即