这个题目如果是用Java写,会联想到StringBuffer类中有一个倒置字符串的函数:reverse(),值得注意的是,这个函数返回一个引用,也就是说,进行倒置之后原来的StringBuffer对象也就变了,所以一定要记得在写的时候注意。
Scanner s1=new Scanner(System.in);
String in=s1.next();
StringBuffer n=new StringBuffer(in);
n.reverse();//倒置字符串
String out=n.toString();//转换成String类型
if (in.equals(out)) {
System.out.println("是回文数");
}else{
System.out.println("不是回文数");
}
s1.close();
这里为什么不直接用两个StringBuffer比较呢?StringBuffer的equals函数比较的是两个对象的引用,并不能返回正确的答案。