Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA:method,一个字符串在另一个字符串中出现了多少次_Java - Fatal编程技术网

JAVA:method,一个字符串在另一个字符串中出现了多少次

JAVA:method,一个字符串在另一个字符串中出现了多少次,java,Java,我刚开始学习java编程,在这里,我一直坚持着这个任务。我无法找出我在代码中做错了什么,所以我可以得到具体的结果。任何关于如何解决问题的帮助或提示都会很有帮助。提前谢谢 此赋值将编写一个方法来确定一个字符串在另一个字符串中出现的次数 具体而言,您应该执行以下操作: 在StringsSecondAssignments项目中创建一个名为Part2的新Java类 编写名为howMany的方法,该方法具有两个名为stringa和stringb的字符串参数。此方法返回一个整数,指示stringa在stri

我刚开始学习java编程,在这里,我一直坚持着这个任务。我无法找出我在代码中做错了什么,所以我可以得到具体的结果。任何关于如何解决问题的帮助或提示都会很有帮助。提前谢谢

此赋值将编写一个方法来确定一个字符串在另一个字符串中出现的次数

具体而言,您应该执行以下操作:

  • 在StringsSecondAssignments项目中创建一个名为Part2的新Java类

  • 编写名为howMany的方法,该方法具有两个名为stringa和stringb的字符串参数。此方法返回一个整数,指示stringa在stringb中出现的次数,其中stringa的每次出现不得与它的另一次出现重叠。例如,调用howmount(“GAA”,“ATGAACGAATTGAATC”)返回3,因为GAA出现3次。调用howmount(“AA”、“ATAAAA”)返回2。请注意,找到的AA不能重叠

  • 编写void方法testhowmone没有参数。在这里添加代码,通过几个示例调用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

    一个简单的
    ,而
    可以完成以下工作:

    @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

    您可以在一行中完成此操作:

    System.out.println("ATAAAA".split("AA", -1).length - 1);
    

    您可以在一行中完成此操作:

    System.out.println("ATAAAA".split("AA", -1).length - 1);
    

    优雅而简洁。。。但对于初学者来说可能太抽象了……优雅而简洁。。。但是对于初学者来说可能太抽象了……提示:您将lastIndex设置为字符串a的长度。我想您应该改为按字符串a的长度递增。提示:您将lastIndex设置为字符串a的长度。我想你应该增加字符串a的长度。