关于equals的问题
import java.util.Scanner;
public class Palindrome {
	public static void main(String[] args) {
		Scanner input= new Scanner(System.in);
		System.out.println("请输入一字符串:");
		String str= input.next();
		StringBuffer strTest= new StringBuffer(str);
		strTest.reverse();
		System.out.println(strTest);
		if(str.equals(strTest)){
			System.out.println("该字符串是回文字符串");
		}
		else{
			System.out.println("该字符串不是回文字符串");
		}
	}
}
如果我输入aaabbbaaa  那么str.equals(strTest)应该为true,且输出是回文字符串,但是输出结果却是  不是回文,求解~~
------解决方案--------------------因为你的两个比较中if(str.equals(strTest)){
str和strTest一个是String一个是StringBuffer
改成这样就行了:
public class test {
	public static void main(String[] args){				
		Scanner input= new Scanner(System.in);
		System.out.println("请输入一字符串:");
		String str= input.next();
		StringBuffer strTest= new StringBuffer(str);		
		String st=strTest.reverse().toString();				
		if(str.equals(st)){
		System.out.println("该字符串是回文字符串");
		}
		else{
		System.out.println("该字符串不是回文字符串");
		}
	}
}
------解决方案--------------------str是Stirng字符串,而strTest是StringBuffer对象,当然不能相等,
这个if判断应该这样: if(str.equals(strTest.toString())){ .....}else{.....}
这样既可。