黑马程序员技术交流社区
标题:
判断一个字符串是否是对称字符串
[打印本页]
作者:
安安安
时间:
2015-6-19 22:53
标题:
判断一个字符串是否是对称字符串
/**
* 判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
*/
public class Test4
{
public static void main(String[] args)
{
System.out.println(isDuichenStr("mnanm"));
}
public static boolean isDuichenStr(String s)
{
char[] chs=s.toCharArray();//转字符数组
int min=0;
int max=chs.length-1;
while(max>=min)
{
if(!new Character(chs[min++]).equals(chs[max--]))//比较字符是否相同
return false;
}
return true;
}
}
复制代码
感觉好麻烦
作者:
qq496099229
时间:
2015-6-19 23:20
有问题吗?没问题呀!
作者:
hoop.zeng
时间:
2015-6-20 11:34
比较字符是否相同,写:
if(!(chs[min++]==chs[max--])) 就可以了吧。
比较的是基本数据类型,没必要封装成Chracter对象和用equals方法
作者:
dcw2015
时间:
2015-6-20 11:59
对称只要前后最后一个字符相同就可以了,首先用trim()方法去掉两边空格,(看不到,不代表没有)然后用toCharArray()将字符串转换成字符数组,最后比较ch[0]和最ch[ch.length-1]是否相同
作者:
草原上的小黑马
时间:
2015-6-20 13:04
先将字符串转成字符数组,排好序,最左边的数++和最右边的数-- 依次比较,到左边的数大于或等于右边的数结束比较。
作者:
崔判官
时间:
2015-11-6 21:18
package lianxi;
import java.util.Scanner;
public class Test {
/**
* java程序运行入口
* jvm自动加载main方法
*/
public static void main(String[] args) {
//创建使用键盘对象
Scanner sc = new Scanner(System.in);
//系统提示语
System.out.println("请输入字符串");
//输入字符串并获取
String s = sc.nextLine();
//创建StringBuilder类型对象
StringBuilder sb = new StringBuilder();
//获取之前输入的字符串b
sb.append(s);
//进行反转并转回String类型
String s3 = sb.reverse().toString();
//反转前的内容跟反转后的内容做比较并输出结果
System.out.println(s.equals(s3));
}
}
这个比较简单 直接反转字符串然后进行比较 希望对你有帮助
作者:
peide0427
时间:
2015-11-6 22:43
很好。。。。。
作者:
peide0427
时间:
2015-11-6 22:46
hao....应该没有问题啊吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2