
public class SameLetter {
public SameLetter() {
System.out.println("请输入一串字符串");
Scanner sc = new Scanner(System.in);
String str0 = sc.nextLine();
StringBuffer str1 = new StringBuffer(str0);
StringBuffer str2 = new StringBuffer(str1);
str2 = str2.reverse();
System.out.println("str1=" + str1);
System.out.println("str2=" + str2);
if (str1.equals(str2)) {
System.out.println("你输入的是回文!");
} else {
System.out.println("你输入的不是回文!");
}
}
public static void main(String[] args) {
new SameLetter();
}
}
为什么不管我输入的字符串是不是回文,程序都输出“你输入的不是回文!”。
你比较的是两个类是否相同,猛漏而不是其腊知前中的轮清内容
改为if (str1.toString().equals(str2.toString()))
StringBufferl类没有重新equals方法,比较之前先调用toString方法吧