切割字符成两端,将第二段倒序储存 然后经行比较
代码如下
public static void isPalindrom(String str) {
StringBuilder temp1 = new StringBuilder();
StringBuilder temp2 = new StringBuilder();
//char ch ;
if (str.length()%2 == 0) {//字符串长度为偶数
for (int i = str.length(); i > str.length()/2; i--) {
temp1.append(str.charAt(i-1));
}
System.out.println(temp1);
for(int i = 0 ; i < str.length()/2; i++)
temp2.append(str.charAt(i));
System.out.println(temp2);
}else{//字符串长度是奇数 , 中间字符不影响判断
for (int i = str.length(); i > str.length()/2 + 1; i--) {
temp1.append(str.charAt(i-1));
}
System.out.println(temp1);
for(int i = 0 ; i < str.length()/2; i++)
temp2.append(str.charAt(i));
System.out.println(temp2);
}
if(temp1.toString().equals(temp2.toString())) {
System.out.println("是回文!");
}else {
System.out.println("不是回文!");
}
}
public static void judgeStr(String str) {
int begin = 0; //字符串的第一位
int end = str.length() - 1; //长度 - 1
for(; begin < end ;begin++ , end -- ) {
if(str.charAt(begin)!=str.charAt(end)) {
System.out.println("不是回文!");
return;
}
}
System.out.println("是回文!");
}
StringBuffer类里提供了方法reverse()的作用就是将字符串翻转
public static void judgeStr2(String str) {
String orgStr = str;
StringBuffer sb = new StringBuffer(str);
String reStr = sb.reverse().toString();
if(orgStr.equals(reStr)) {
System.out.println("是回文!");
}else {
System.out.println("不是回文!");
}
}
测试代码:
public static void judgeStr2(String str) {
String orgStr = str;
StringBuffer sb = new StringBuffer(str);
String reStr = sb.reverse().toString();
if(orgStr.equals(reStr)) {
System.out.println("是回文!");
}else {
System.out.println("不是回文!");
}
}
运行截图:
本文地址:https://blog.csdn.net/weixin_44420328/article/details/107269869
如对本文有疑问, 点击进行留言回复!!
springcloud中feign调用处理mybatis-plus Ipage反序列化问题。
Flume 史上最全面的大数据学习第十篇(一) 别再说不知道flume是什么了
网友评论