正确结果为5 我代码输出为8 没找出问题 求指教class Test { public static void main(String[] args) { String s = "sunjavacjavaeeejavapuujavakkkjava"; int count = 0; int x = 0; if (s.contains("java")) { x = s.indexOf("java"); count++; } int y = x + 4; for (int z = 0; z != -1 && y < s.length(); y += 4) { z = s.indexOf("java", y); count++; } System.out.println(count); }}
3 回答

慕盖茨4494581
TA贡献1850条经验 获得超11个赞
String s = "javasunjavacjavaeeejavapuujavakkkjavaiijavajava";int count = 0;int y=0;for (int z = 0; z!=-1 && y < s.length()-4; y = z+4) { z = s.indexOf("java", y); if (z != -1) { count++; } } System.out.println(count);
直接循环判断,不等于-1就加一个。

慕尼黑8549860
TA贡献1818条经验 获得超11个赞
public static void main(String[] args) { String s = "sunjavacjavaeeejavapuujavakkkjava"; int y = 0; while (s.indexOf("java")!=-1){ y++; s = s.substring(s.indexOf("java")+4); } System.out.println(y); }

FFIVE
TA贡献1797条经验 获得超6个赞
public static void main(String[] args) { String s = "sunjavacjavaeeejavapuujavakkkjava"; int oldLength = s.length(); s = s.replaceAll("java", ""); int count = (oldLength - s.length()) / 4; System.out.println(count);
添加回答
举报
0/150
提交
取消