下面的代码有一个运行方法,它接受一个columnNumber。 我有3个不同的数组:col1,col2和col3在顶部初始化,每个数组中有4个元素。
让我们说在run方法中,我传入一个2的int值。所以,我希望“s [0] = 500”为“col2 [0] = 500”。
那么,有没有办法通过传入一个整数值来指定我想要的int数组?
例如,我输入3然后“s [0] = 500”将是“col3 [0] = 500”public class Array {
static int[] col1 = {1, 2, 3, 4};
static int[] col2 = {1, 2, 3, 4};
static int[] col3 = {1, 2, 3, 4};
public static void run(int columnNumber) {
String string = Integer.toString(columnNumber);
String s = "col" + string;
s[0] = 500;
答案 0 :(得分:2)
您不能(轻松)动态引用变量名称。你可能想要的是一个数组数组:
static int[][] cols = {
{1, 2, 3, 4},
{1, 2, 3, 4},
{1, 2, 3, 4}
};
public static void run(int columnNumber) {
cols[columnNumber - 1][0] = 500;
}
我使用columnNumber - 1
因为数组索引是从0开始的。因此,如果您致电run(1)
,它会修改cols
(cols[0]
)中的第一个数组。
答案 1 :(得分:0)
这个怎么样?
static int[][] columns = {
{ 1, 2, 3, 4 },
{ 1, 2, 3, 4 },
{ 1, 2, 3, 4 },
{ 1, 2, 3, 4 }
};
public static void run(int columnNumber) {
columns[columnNumber][0] = 500;
}
答案 2 :(得分:0)
我建议你可以使用switch语句。
switch(columnNumber){
case 1:
col1[0]=500;
break;
case 2:
col2[0]=500 ;
break;
case 3:
col3[0]=500;
break;
}