1 回答
TA贡献51条经验 获得超16个赞
package com.glw.ceshi;
import java.util.ArrayList;
import java.util.List;
public class HuiWen {
public static void main(String[] args) throws Exception
{
List<String> result=new ArrayList<String>();
String str="34554343345345";
int len=str.length();
for(int i=0;i<len-2;i++){
for(int j=i;j<len-1;j++){
StringBuffer temp=new StringBuffer(str.substring(i, j+1));
if(!(temp.toString().equals(""))){
String te=temp.toString();
String mp=temp.reverse().toString();//reverse()函数是让字符串反过来排序 例:12345 使用reverse()后就是 54321
//因为回文数正着读 和 反着读 一样 所以只需判断 反过来的字符串与原字符串是否相等即可
if(te.equals(mp)){
result.add(te);
}
}
}
}
/*System.out.println("全部的回文数:");
for(int i=0;i<result.size();i++){
System.out.println(result.get(i));
}*/
System.out.println("最长的回文数是:");
int maxnum=result.toArray()[0].toString().length();
int max=0;
for(int j=0;j<result.toArray().length;j++){
if(maxnum<result.toArray()[j].toString().length()){
maxnum=result.toArray()[j].toString().length();
max = j;
}
}
System.out.println(result.toArray()[max]);
}
}
添加回答
举报