使用StringBuffer的reverse()方法实现倒置
题目:利用StringBuffer类的倒置方法,判断一个字符串是否对称的字符串。
分析: 拿到这个题目后就在想是否跟回文数一样,发现是一样的,唯一不同的是要用特定的类方法;然后就想到了字符串反转,即StringBuffer
的reverse()
方法;
注意:
从文档中我们可以看出这个方法是直接替换(做题过程中踩了坑),所以如果我们要是想比较输入的是否为对称数在调用这个方法之前要把字符串存一下;
代码:
import java.util.Scanner;
public class reverse {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//接收输入的字符串
StringBuffer reverseString = new StringBuffer(scanner.next());
//把原数据存一下
//调用reverse方法就在原数据上直接反转了reverseString已经是反转后的数据了,要想比较就得把原数据存一下
String stringBuffer = reverseString.toString();
//反转字符串,此时reverseString已经是反转后的字符串了
reverseString.reverse();
//比较不能用==运算符要用equals,
//toString是让比较的两个数据换成数据类型相同的,要不然一个String类型一个StringBuffer类型没法比较
if (reverseString.toString().equals(stringBuffer)) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
}
运行结果:
ending