回文字符串的判断及返回最大串
- 问题1:怎么获取一个字符串的子串?
- 问题2:怎么判断一个字符串是回文字符串?
问题1:
System.out.println("输入一个字符串:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String huiwei = "";
int max = 0;
for (int i = 0; i < str.length(); i++) {
for (int j = i+1; j < str.length(); j++) {
String tmp = str.substring(i, j);
if (huiweiStr(tmp)) {
if (max < tmp.length()) {
//如果获取的子串长度比原来的长,将子串的长度存下来
max = tmp.length();
//保存子串
huiwei = tmp;
}
}
}
}
问题2:
//通过将字符串反转来比较是否是回文串
public static boolean huiweiStr(String string) {
char[] chars1 = string.toCharArray();
//用jdk自带的处理方式
char[] chars = new StringBuffer(string).reverse().toString().toCharArray();
boolean flag = true;
for (int i = 0; i < chars.length; i++) {
if (chars[i] != chars1[i]) {
flag = false;
}
}
return flag;
}
网友评论