Java - 有没有办法使用变量作为名称的一部分来调用变量?

时间:2011-12-22 02:36:58

标签: java

这就是我正在做的事,

for (i=0; i<4; i++){
    for (j=0; j<7; j++){
        someArray[1][i][j] = value1[i][j];
    }
}
for (i=0; i<4; i++){
    for (j=0; j=0; j<7; j++){
        someArray[2][i][j] = value2[i][j];
    }
}

这就是我想做的事情

for (j=0; j<14; j++){
    for (i=0; i<4; i++){
        for (j=0; j=0; j<7; j++){
            someArray[j][i][j] = value%j%;
        }
    }
}

有没有办法做这样的事情?

我这样做的原因是因为我需要设置数组的值而我不知道如何为多维字符串数组声明值。

我知道怎么做

public static String value1[] = {
    "somevalue",
    "morevalue",
    "blahvalue"
};

但如果我宣布......我不知道怎么做...

public static String value[][] = ...

2 个答案:

答案 0 :(得分:4)

这非常复杂,不建议使用动态名称引用变量。要初始化多维Java数组,请执行以下操作:

public static String[][] someArray = {
    {"A", "B", "C", "D"},
    {"E", "F", "G", "H"},
    {"I", "J", "K", "L"}
};

答案 1 :(得分:1)

我不确定如何完全按照自己的意愿行事,但是您可以随时将不同的值存储在数组中,然后循环遍历它们:

int x =  3; // number of values
SomeType[] values = new SomeType[x];
values[0] = value1;
values[1] = value2;
values[2] = value3;

for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 7; j++) {
        for (int k=0; k < x; k++) {
            someArray[k][i][j] = values[k][i][j];
        }
    }
}