题目描述
- 检查输入的字符串是否是回文。
- 所谓回文是指一个字符串正序读和逆序读都一样,比如“234432”、“我爱我”、“level”等都是回文。
- 用两种方法实现。
核心思想
-
结合回文的特点,中间对折后字符相同
-
方法一:StringBuffer的 reverse() 方法将字符串反转,一模一样就是回文
-
方法二:拆分成字符,第一个和最后一个对比,第二个和倒数第二个对比…直到完全比完。一样则为回文。
代码实现
/**
* 检查输入的字符串是否是回文,所谓回文是指一个字符串正序读和逆序读都一样,比如“234432”、“我爱我”、“level”等都是回文。用两种方法实现。
*
* @author jjking
*
* 创建时间:2020年4月20日
*/
public class PalindromeNumber {
@SuppressWarnings("resource")
public static void main(String[] args) {
System.out.println("请输入文字:");
String str = new Scanner(System.in).next();
if (str.equals(new StringBuffer(str + "").reverse().toString())) {
System.out.println(str + "(方法一):是回文");
} else {
System.out.println(str + "(方法一):不是回文");
}
for (int i = 0; i < str.length() / 2; i++) {
if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {
System.out.println(str + "(方法二):不是回文");
return;
}
}
System.out.println(str + "(方法二):是回文");
}
}
运行结果展示
本节完!
更多信息交流请加QQ:1406073270