如何使用递归来检查字符串是否由模式组成?



如何创建一个接受两个参数的递归方法,一个字符串和一个模式的长度,并检查字符串是否由给定长度的重复出现组成?

这是我到目前为止想到的,代码仍然不完整,但我不知道下一步该做什么。

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;
}

相关内容

  • 没有找到相关文章

最新更新