Java创建随机数组大小或长度

时间:2015-02-22 11:43:06

标签: java

在我的应用程序中,我必须使用一个随机大小或长度的数组,例如

String[] SHS;

SHS   = new String[5];
/* or */
SHS   = new String[10];

现在我试图定义一个定义随机数组大小的自定义函数,

private String[] SHS;

public void setDay(String[] day) {
    SHS = new String[day.length];
    SHS = day;
}

为了填充这个数组,我正在使用这个函数:

private String[] setRange(int min, int max) {
    final String[] values = new String[max];
    for (int i = min - 1; i < values.length; i++) {
        values[i] = String.valueOf((i + 1));
    }
    return values;
}

但在setDay( setRange(1,5) )操作后尝试使用setDay( setRange(1,15) )时出错。我收到这个错误:

java.lang.ArrayIndexOutOfBoundsException

1 个答案:

答案 0 :(得分:1)

我将上面的内容编译成了这个类,但它打印出了句子,意味着错误在你的代码中的其他地方。

public class SOArrays {

    private String[] SHS;

    private void setDay(String[] day) {
       SHS = new String[day.length];
       SHS = day;
    }

    private String[] setRange(int min, int max) {
        final String[] values = new String[max];
        for (int i = min - 1; i < values.length; i++) {
        values[i] = String.valueOf((i + 1));
    }
    return values;
    }

    public void process(){
        setDay( setRange(1,5) );

        System.out.print("Finished without errors.");

     }

     public static void main(String[] args){

         new SOArrays().process();
     }
    }