关于回文

qiang_top 2009-09-23 11:19:47
判断一个句子是否是回文,忽略句子中的标点,大小写;程序该怎么编?
...全文
155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyinghawl 2009-09-25
  • 打赏
  • 举报
回复
2#写的代码很简洁,佩服呀
java1109 2009-09-24
  • 打赏
  • 举报
回复
学习
tfsict2008 2009-09-24
  • 打赏
  • 举报
回复

public static void main(String[] args) {
// TODO Auto-generated method stub
String[] strs = {"abcdef","ab.cb,a","a9(2fty","xy.jk3,#fdsa"};
String temp;
String pre,after;
int length;
for(String s:strs){
temp = s.replaceAll("\\W", "").toLowerCase();
length = temp.length();
if((length & 1)==0){
pre = temp.substring(0,length/2);
after = temp.substring(length/2, length);
}else{
pre = temp.substring(0,length/2);
after = temp.substring(length/2+1, length);
}


if(pre.equals((new StringBuffer(after).reverse()).toString())){
System.out.println(s+"是回文");
}else{
System.out.println(s+"不是回文");
}

}


}

abcdef不是回文
ab.cb,a是回文
a9(2fty不是回文
xy.jk3,#fdsa不是回文
bigbug9002 2009-09-23
  • 打赏
  • 举报
回复
public class Test{
public static void main(String args[]) throws Exception{
String[] strs={"aaBBAa","abcba.","xy,12.21[Yx]","abcabc"};
for(String str: strs){
if(isPalindrome(str)){
System.out.println(str+"是回文的");
}else{
System.out.println(str+"不是回文的");
}

}

}
public static boolean isPalindrome(String str){
String newStr=str.replaceAll("\\W",""); //把非字母和数字的其它字符去掉.
newStr=newStr.toLowerCase(); //把字符串转为小写.
int start=0;
int end=newStr.length()-1;
while(start<end&&newStr.charAt(start++)==newStr.charAt(end--));
if(start<end){
return false;
}
return true;
}
}

F:\java>java Test
aaBBAa是回文的
abcba.是回文的
xy,12.21[Yx]是回文的
abcabc不是回文的
bigbug9002 2009-09-23
  • 打赏
  • 举报
回复
只含英文?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧