【发布时间】:2016-02-07 00:36:59
【问题描述】:
我无法确定较小的字符串是否是较大字符串的子字符串。 例子: s1 = 船 s2 = 汽船 这是我的代码。我只能使用 for 循环和 charAt。
public static boolean isSubstring(String s1, String s2){
boolean substringcheck = false;
int correct = 0;
for(int i=0; i<s1.length(); i++){
for(int j=0; j<s2.length(); j++){
if(s1.charAt(i) == s2.charAt(j)){
correct++;
for(int n=0; n<s1.length(); n++){
if(s1.charAt(n) == s2.charAt(j)){
correct++;
}else{
correct = 0;
}
}
}
}
}
if(correct == s1.length()){
substringcheck = true;
}else{
substringcheck = false;
}
return substringcheck;
}
}
我很困惑在 if 语句之后放置什么来检查较小字符串中的所有字符是否与我们在较大字符串中找到匹配项后的字符匹配。
【问题讨论】:
-
我投票决定将此问题作为题外话结束,因为这是一项需要付出一点努力的家庭作业
-
提示:您(可能)将
s2的所有字符与s1[i]进行比较。这不对……是吗。 -
if 中需要另一个 for 循环,一个标志变量来确定是否找到了子字符串,或者您可以使用 aa break 语句,然后您需要在两个 for 循环中处理结束条件跨度>
-
好吧,我认为这是因为我正在检查 s1 是否在 s2 中
-
大家好 - 这是一个简单的编程错误。我正试图让 OP 在他自己的脑海中弄清楚......
标签: java string for-loop netbeans substring