StringBuilder和equals来比较原始字符串和反向字符串

时间:2016-03-18 21:30:33

标签: java

程序检查字符串和原始字符串的反向是否相同,并且为了获得字符串的反转,我在java中使用stringbuilder并比较java的启示,但是输出不正确。如果是原始字符串和反向字符串相同,输出是否输出NO。

import java.io.*;
import java.util.Scanner;
import java.lang.*;
public class Stringuse {
    private static Scanner in;
    public static void main(String[] args) {
        in = new Scanner(System.in);
        String s=in.next();
        StringBuilder sb=new StringBuilder(s);
        sb.reverse().toString();
        System.out.println(sb);
        boolean ans=sb.equals(s);
        System.out.println(ans);
        if(ans==true)
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}

2 个答案:

答案 0 :(得分:4)

您可能只需要将其更改为

boolean ans = sb.toString().equals(s);

因为只有String s等于其他String s; StringBuilder不能等于String

...虽然您也可以写sb.reverse()代替sb.reverse().toString()if (ans)代替if (ans == true)

答案 1 :(得分:1)

我刚刚在评论中做了一些修改,现在工作正常。

public static void main(String[] args) {
  in = new Scanner(System.in);
  String s=in.next();
  StringBuilder sb=new StringBuilder(s);
  boolean ans= sb.reverse().toString().equals(s);
  if(ans==true)
    System.out.println("Yes");
  else
    System.out.println("No");
}