如何在java中运行for循环?

如何在java中运行for循环?,java,Java,我想知道为什么这段代码不运行。有什么东西不见了吗 计算给定字符串中的xx个数。我们会说,重叠是允许的,所以xxx包含2个xx 您正在传递str并在函数中使用其长度。但是,在循环中使用了一个局部字符串变量,这似乎是一个逻辑错误 调用此函数时需要传递输入字符串,并使用str函数参数计算匹配项 下面是一个功能示例: class Test { static int countXX( final String str ) { int count = 0; for (

我想知道为什么这段代码不运行。有什么东西不见了吗

计算给定字符串中的xx个数。我们会说,重叠是允许的,所以xxx包含2个xx

您正在传递str并在函数中使用其长度。但是,在循环中使用了一个局部字符串变量,这似乎是一个逻辑错误

调用此函数时需要传递输入字符串,并使用str函数参数计算匹配项

下面是一个功能示例:

class Test
{
    static int countXX( final String str ) {
        int count = 0;
        for (int i = 0; i < str.length() - 1; i++) {
            if (str.substring(i, i + 2).equals("xx")) count++;
        }
        return count;
    }

    public static void main (String[] args)
    {
        final String s = "abcxxx";
        final int count = countXX( s );
        System.out.println( count );
    }
}

下面是一个活生生的例子:

您的问题还不清楚。但是,您可以尝试此代码

public static void main(String[] args) {
    final int count = countXX("abcxx efjxx xyzxx xx xxxx xx","xx");
    System.out.println(count);
}

static int countXX(final String text, final String occurrenceOf){
    int count = 0;
    int fromIndex=0;
    for (int i = 0; i < text.length() - 1; i++) {
        int index = text.indexOf(occurrenceOf,fromIndex);
        if(index >-1) {
            count++;
            fromIndex=index+1;
        }
    }
    return count;
}

检查str value当你说代码没有运行时是什么意思?您得到的错误是什么?简单的调试将为您提供问题的答案。您的for循环从0到str.length-1,但是在for循环中,您检查a的内容,您应该通过main方法@Chasuna调用countXX方法
public static void main(String[] args) {
    final int count = countXX("abcxx efjxx xyzxx xx xxxx xx","xx");
    System.out.println(count);
}

static int countXX(final String text, final String occurrenceOf){
    int count = 0;
    int fromIndex=0;
    for (int i = 0; i < text.length() - 1; i++) {
        int index = text.indexOf(occurrenceOf,fromIndex);
        if(index >-1) {
            count++;
            fromIndex=index+1;
        }
    }
    return count;
}