判断一个数是不是回文数(Java StringBuffer)

这个题目如果是用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函数比较的是两个对象的引用,并不能返回正确的答案。

你可能感兴趣的:(判断一个数是不是回文数(Java StringBuffer))