您的位置:首页 > 编程语言 > Java开发

JAVA程序设计左边回文补全

2016-03-14 20:15 489 查看
本程序练习了集合框架常见的方法。

回文补全源代码:

package 测试包;
import java.util.Scanner;
public class 回文补全 {
// 判断是不是回文
public static boolean isHuiWen(String str) {
StringBuilder sb = new StringBuilder();
sb.append(str);
if (sb.toString().equals(sb.reverse().toString()))
return true;
else
return false;
}
// 找到左边最大的回文
public static String getMaxSubStringFromLeft(String str) {
String max = "";
String temp = "";
for (int i = 0; i < str.length(); i++) {
temp = str.substring(0, i);
if (isHuiWen(temp) == true && temp.length() >= max.length()) {
max = temp;
}
}
return max;
}
// 自己是回文则返回,自己不是回文则补全回文
public static String getHuiWen(String str) {
if (isHuiWen(str) == true)
return str;
else {
String goal = "";
String LeftMax = getMaxSubStringFromLeft(str);
String strSub = str.substring(LeftMax.length(), str.length());
String sb = new StringBuilder().append(strSub).reverse().toString();
goal = sb + str;
return goal;
}
}
//测试
public static void main(String[] args) {
System.out.println("请输入字符串:");
Scanner sc = new Scanner(System.in);
String aa = sc.nextLine();
sc.close();
System.out.println("原始的字符串是:" + aa);
System.out.println("是不是       回文:" + isHuiWen(aa));
System.out.println("左边最大回文是:" + getMaxSubStringFromLeft(aa));
System.out.println("回文          补全:" + getHuiWen(aa));
}
}


程序运行结果:

请输入字符串:
UUUtest
原始的字符串是:UUUtest
是不是       回文:false
左边最大回文是:UUU
回文          补全:tsetUUUtest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: