程序检查字符串和原始字符串的反向是否相同,并且为了获得字符串的反转,我在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");
}
}
答案 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");
}