【发布时间】:2019-09-25 14:33:02
【问题描述】:
给定两个字符串,如果大字符串是小字符串的组合,我的函数应该返回 true,否则返回 false。即
cat 和 catcatcatcat 会返回 true cat 和 catdogcatcat 会返回 false
我不确定为什么它不起作用,或者我的逻辑是否正确。
public static boolean isCat(String s, String y) {
int yl= y.length();
int counter= 0;
for (int i= 0; i < s.length(); i++ ) {
char[] ychar= y.toCharArray();
char[] subchar= s.substring(counter, counter + yl).toCharArray();
if (Arrays.equals(ychar, subchar) == true) {
counter+= yl;
return true;
}
}
return true;
}
【问题讨论】:
-
y是大字符串还是短字符串?你怎么打电话给isCat?组合也只是串联? -
好吧,您方法中的所有
return语句都返回true... -
y 是较短的语句。我这样称呼就好了。问题出在函数本身。组合就是串联