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

3 に答える 3

4

あなたは必要になるでしょう

if (word.equals(s.toString())){ 
    ...
}
于 2012-08-28T02:30:09.803 に答える
2

word は型Stringであり、 s は型StringBuilderであるため、型に関しては等しくありません。

そのはず

if (word.equals(s.toString()) {
    ....
}
于 2012-08-28T02:31:22.317 に答える
1

StringBuilder インスタンスで toString() を呼び出し、equals メソッドで比較する

if (s.toString().equals(単語)){

}
于 2012-08-28T02:34:22.717 に答える