循环有2个计数器

时间:2012-09-23 20:22:58

标签: java

我拿了一个字符串,把它变成了一个数组,现在我需要调用数组的特定范围Ex:symbolsArray [1-5]并将范围增加5.([6-10])

public static String getNumber(String symbols){

    String symbolsArray [] = symbols.split("");
    int a =2;
    int b = 6;
    for (int i=5; i < 31;i+=5){

        if (symbolsArray[a-b]== ... ){
            System.out.println(...);
        } else() {
            System.out.println(...);
        }
    }
}

如何显示从位置a到位置b的数组值?这是我的问题。

3 个答案:

答案 0 :(得分:1)

让我们看看:

int a =2;
int b = 6;
//...
symbolsArray[a-b]

数组从0开始编制索引,a-b在示例代码中显然是-4 ...

此外:

  1. 使用==比较字符串很可能不起作用:symbolsArray[a-b]== ...

  2. 你绝对相信symbolsArray总会有35个元素吗?

  3. symbols.split("")在做什么?那是什么样的分隔符?

答案 1 :(得分:0)

[a-b] = -4,真的超出范围

对于来自a to b ie 2 to 6的值,请尝试此操作...

for(int i=2 ; i<5 ; i++){

System.out.println(symbolsArray[i]);

}

Array's SIZE初始化无法更改

- 如果您需要dynamic,最好使用Collection ... ArrayList就可以了。

答案 2 :(得分:0)

如果我理解你正在尝试做什么,我会采取不同的方法:

public static String getNumber(String symbols){

    for (int i=0; i < 31; i+=5) {
        if (symbols.substring(i, i+4).equals(...)){
            System.out.println(...);
        } else() {
            System.out.println(...);
        }
    }
}

这会将字符串作为长度为5的子字符串进行迭代,并将它们与某些内容进行比较。