所以我试图让用户输入一个字符串,向后打印然后比较新的字符串以查看它是否是回文...它似乎没有工作和我不确定为什么......
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.print("Enter a word: ");
String word = input.next();
StringBuilder drow = new StringBuilder(word);
drow.reverse();
System.out.println(drow);
System.out.print(" ");
String X = drow.toString();
if (word == X) {
System.out.println("That word is a palindrome");
} else {
System.out.println("That word is not a palindrome");
}
感谢您提供帮助,说明为什么这不起作用......
答案 0 :(得分:2)
word == X
询问它们是否字面上是相同的字符串(即它们是指向内存中相同对象的两个引用),而不是它们是否完全相同(即两个不同的字符串碰巧包含相同的字母) ,你想要
string.equals(otherString)
我使用的类比是同卵双胞胎。有两个同卵双胞胎。 ==询问他们是否是同一个人。 .equals()询问它们是否看起来相同
答案 1 :(得分:0)
您的比较参考(使用==)..使用equals方法比较字符串内容..
答案 2 :(得分:0)
请勿使用==
。请改用.equals()
:
if (word.equals(X)) {
System.out.println("That word is a palindrome");
}