如何在变量名中使用方法?

时间:2013-09-11 00:24:51

标签: java variables for-loop methods

我必须创建一些变量,例如:“n23,n4,n18 ......” 因此,它们由两部分组成:字母“n”和我希望从我的方法中获得随机数的数字(rand())。

这样的事情:

for(int i = 0; i < 6; i++) {
    int n*here_must_be_random_number_got_from_my_method*;
}

是否可以做类似的事情?

2 个答案:

答案 0 :(得分:1)

Java不是脚本语言。

所有标识符,即所有包名,类型名,方法名,字段名和变量,必须在编译时指定。因此,无法根据运行时计算的值来连接变量名称。

BUT!

你甚至不需要。只需使用java.util.Map即可。而不是做

int n*here_must_be_random_number_got_from_my_method* = *whatever_it_is_you_want_to_put_here*;

你可以改为

Map<Integer, Integer> myMap = new HashMap<>();

一次,然后将值放在地图中,如下所示:

myMap.put(*here_must_be_random_number_got_from_my_method*, *whatever_it_is_you_want_to_put_here*);

然后像这样回复:

myMap.get(*here_must_be_random_number_got_from_my_method*);

答案 1 :(得分:0)

你不能,但可能你想在以后引用,如果你打算引用n123,那么你可以希望将它们称为{{1相反。如果是这种情况,那么你可以使用java数组,也许是这样的:

n[123]

请注意,java不会执行稀疏数组,因此数组的大小必须与最大的随机数一样大。如果我们这么大,请考虑按照Jan的回答使用地图。