您的位置:首页 > 其它

判断一个字符串是不是回文

2014-11-13 11:25 239 查看
用到StringBuffer的reverse()方法将字符串反转,和以前的字符串进行比较,若相等则为回文,否则不是。

代码如下

class huiwen
{
public static void main(String[] args)
{
String str="abcdcgtrba";
if (isHuiWen(str))
{
System.out.println("该字符串是回文");
return ;
}
System.out.println("该字符串不是回文");

}
public static boolean isHuiWen(String str)
{
//只要把字符串翻转后得到的依然是和反转前相同的字符,即为回文
//此处用到StringBuffer
StringBuffer sb=new StringBuffer(str);
if (sb.reverse().toString().equals(str))
{
return true;
}
return false;
}
}

打印结果:

该字符不是回文

还有另一种方式,不使用StringBuffer

代码如下

class huiwen 
{
public static void main(String[] args) 
{
String str="abcdcgtrba";

String strr=new String(StringReverse(str));
if (strr.equals(str))
{
System.out.println("该字符串是回文");
return ;
}
System.out.println("该字符串不是回文");

}

//自定义反转函数
public static char[] StringReverse(String str)
{
//如String str="abcdef"
char[] ch=str.toCharArray() ;
int start=0;
int end=ch.length-1;
char strTemp=' ';
while (start<end)
{
strTemp=ch[start];
ch[start]=ch[end];
ch[end]=strTemp;
start++;
end--;

}
return  ch;

}
}
这样也能实现结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: