我有一个程序,我正在键入一个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!");
}
}
答案 0 :(得分:1)
您似乎想从强者中删除空格。为此,请使用replace()
方法:
word.replace(" ", "");
答案 1 :(得分:1)
在执行回文检查之前尝试删除所有空格。
word = word.replaceAll("\\s","");
答案 2 :(得分:0)
您的程序按预期工作。 (至少我期望它如何工作; "taco cat"
不等于"tac ocat"
所以它不应被视为palintrome。)
如果你想忽略空格,你可以做
word = word.replaceAll("\\s", "");
读取输入字符串后立即。