我是学习Java编程的新手,在这里我被困在了这项工作上。我无法弄清楚代码中做错了什么,因此可以得到特定的结果。有关如何解决问题的任何帮助或提示都将有所帮助。提前致谢。
该分配将编写一种方法,以确定一个字符串在另一个字符串中出现多少次。
具体来说,您应该执行以下操作:
在StringsSecondAssignments项目中创建一个名为Part2的新Java类。
编写名为howMany的方法,该方法具有两个名为stringa和stringb的String参数。此方法返回一个整数,该整数指示stringa在stringb中出现的次数,其中stringa的每次出现都不得与它的另一次出现重叠。例如,当GAA发生3次时,调用howMany(“ GAA”,“ ATGAACGAATTGAATC”)返回3。调用howMany(“ AA”,“ ATAAAA”)返回2。请注意,找到的AA不能重叠。
编写void方法testHowMany没有参数。在此处添加代码以几个示例调用howMany并打印结果。请仔细考虑哪种类型的示例可以很好地测试以确保您的方法正确运行。
这是我的代码:
public class Part2in {
public String HowMany(String stringa, String stringb) {
int lastIndex = 0;
int count = 0;
while (lastIndex != -1){
lastIndex =stringb.indexOf(stringa, lastIndex);
if(lastIndex !=-1){
count = count + 1;
lastIndex = stringa.length();
}
System.out.println(count);
}
return "";
}
public void testHowMany() {
String stringB = "ABCDASDFBCSDSDFBCBDSDBC";
String stringA = "BC";
String counts = HowMany(stringB, stringA);
if (counts.isEmpty()) {
System.out.print("ERROR" );
}
else {
System.out.print("CORECT" + counts);
}
}
}
一个简单的while
可以做的工作:
@Test
public void testIt(){
String a = "abcdesdikdikcdkofkvcdqwppqcddddcdlpqa";
String b = "cd";
int i = 0;
while (a.contains(b)){
a = a.replaceFirst(b,"");
i++;
}
System.out.println("found:"+i);
}
以我为例 5
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句