黑马程序员技术交流社区
标题:
判断字符串是否对称
[打印本页]
作者:
695212308
时间:
2016-8-12 20:08
标题:
判断字符串是否对称
import java.util.Scanner;
/*
*判断一个字符串是否是对称字符串
*例如"abc"不是对称字符串,"aba","abba","mnanm" 是 对称字符串
*
* 分析:
* 判断一个字符串是否是对称的字符串, 只需要把
* 第一个和最后一个比较
* 第二个和倒数第二个比较
* .....
* 比较的次数是长度除以2
*/
public class StringSubfferTest {
public static void main(String[] args) {
//创建键盘录入对象
Scanner in=new Scanner(System.in);
System.out.println("请输入一个字符串");
String s=in.nextLine();
//普通方法
boolean s2=isSame(s);
System.out.println(s2);
//用字符串缓冲区的反转功能
boolean s3=isSame2(s);
System.out.println(s3);
}
//用字符串缓冲区的反转功能
public static boolean isSame2(String s){
return new StringBuffer(s).reverse().toString().equals(s);
/*程序步骤:
先创建缓冲区对象,然后把S里面的值赋值进去
再把字符串反转后转换成String类型
在与之前传进来的S比较内容是否一致*/
}
//普通方法
public static boolean isSame(String s){
//把字符串转换为字符数组
char[] arr=s.toCharArray();
//比较是否对称
for(int i=0,f=arr.length-1;i<=f;i++,f--){
if(arr[i]!=arr[f]){
return false;
}
}
return true;
}
}
作者:
Maroon
时间:
2016-8-12 23:27
没必要这么麻烦
for(int i=0,;i<arr.length / 2;i++){
if(arr[i]!=arr[f]){
return false;
}
}
这样就可以了,少定义了一个参数,遍历一半数组就行了
作者:
Maroon
时间:
2016-8-12 23:28
Maroon 发表于 2016-8-12 23:27
没必要这么麻烦
for(int i=0,;i
if(arr
!=arr[arr.length - 1 - i])
判断语句忘改了...
作者:
zztierlie
时间:
2016-8-13 10:06
我擦,这个挺难啊,牛逼啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2