2013-10-06 50 views
0

所以我試圖讓用戶輸入一個字符串,向後打印,然後比較新的字符串,看看它是否是迴文或不...似乎沒有工作,我不知道爲什麼...字符串比較無法正常工作?

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

感謝爲什麼這是行不通的任何幫助......

回答

2

word == X詢問是否是字面上相同的字符串(也就是說,它們是兩個引用指向同一個對象內存),如果它們是相同的(即兩個不同的字符串恰好包含相同的字母),則不是這樣,您想要

string.equals(otherString) 

我用這個比喻是同卵雙胞胎。有兩個相同的雙胞胎。 ==問他們是否是同一個人。 .equals()問如果他們看起來是一樣的

+1

非常感謝! – user2849489

0

你比較引用(使用==)..使用equalsTo方法將字符串內容比較..

0

不要使用==。使用.equals()代替:

if (word.equals(X)) { 
    System.out.println("That word is a palindrome"); 
}