JAVA程序设计左边回文补全
本程序练习了集合框架常见的方法。回文补全源代码:package 测试包;import java.util.Scanner;public class 回文补全 {// 判断是不是回文public static boolean isHuiWen(String str) {StringBuilder sb = new StringBuilder();
·
本程序练习了集合框架常见的方法。
回文补全源代码:
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
更多推荐
已为社区贡献1条内容
所有评论(0)