问题描述
如何创建一个递归方法,它接受两个参数,一个字符串和一个模式的长度,并检查字符串是否由给定长度的重复出现组成?
这是我目前想到的,代码仍然不完整,但我不知道下一步该怎么做。
public static boolean checkPattern(String str,int pattern) {
if(str.length() % pattern != 0)
return false;
String sub = str.substring(0,pattern);
// if(str.matches(sub)) {
// return checkPattern(str,pattern);
// }
return false;
}
输出点应该是这样的:
Enter pattern: abcdabcd 4
abcdabcd is composed of a pattern of length 4.
Enter pattern: abcdabcd 3
abcdabcd is not composed of a pattern of length 3.
有人可以帮我解决这个问题吗?
解决方法
目前无法对此进行测试,但它应该在您尝试存档的大致范围内
public static boolean checkPattern(String str,int patternLength) {
if(str.length() % patternLength != 0)
return false;
if (str.length() == patternLength) {
return true;
}
String sub1 = str.substring(0,patternLength);
String sub2 = str.substring(patternLength,patternLenght * 2);
if(sub1.equals(sub2)) {
return checkPattern(str.substring(patternLength),patternLength);
}
return false;
}