2012-08-28 46 views
0
public class reverse 
{ 
    public static void main(String[] args) 
    { 
     Scanner sc = new Scanner(System.in); 
     System.out.print("Enter a new string : "); 
     String word = sc.nextLine(); 
     StringBuilder s = new StringBuilder(); 
     for (int i = 0; i <= word.length() - 1; i++) 
     { 
      char c = word.charAt(word.length() - i - 1); 
      s.append(c); 
     } 
     System.out.println("Reversed String = " + s); 
     if (word.equals(s)) 
     { 
      System.out.println("This is a palindrome"); 
     } 
     else 
     { 
      System.out.println("This is not a palindrome"); 
     } 
    } 
} 

這始終打印「這不是一個迴文」我給不管是什麼字符串作爲輸入迴文檢查工作不

回答

4

你需要

if (word.equals(s.toString())){ 
    ... 
} 
2

String型和s是類型StringBuilder,所以它們在類型上不相同。

它應該是

if (word.equals(s.toString()) { 
    .... 
} 
1

上StringBuilder實例調用的toString(),然後用比較equals方法

如果(s.toString()。等於(字)){

} 
+0

你guyes是最好的!非常感謝 :) –