-2

我拿了一个字符串,把它变成了一个数组,现在我需要调用数组的特定范围 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 的数组值?那是我的问题。

4

3 回答 3

1

让我们来看看:

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

数组的索引从 开始0a-b显然-4在您的示例代码中......

除了:

  1. 使用最有可能的方法比较字符串==不起作用:symbolsArray[a-b]== ...

  2. 您绝对确定symbolsArray将始终拥有 35 个元素吗?

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

于 2012-09-23T20:25:12.790 回答
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 的子字符串进行迭代,并将它们与某些东西进行比较。

于 2012-09-23T20:40:57.060 回答
0

[ab] = -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在你的情况下没问题......

于 2012-09-23T20:24:48.067 回答