可能重复:
Use a variable within a variable? Java
嗨,这是一个与编程有关的一般问题,而不是一个java问题。如果我有这样的程序:
public class tester {
public static void main(String[] args) {
int i = 2;
String text = "Hello";
String text2 = "world";
System.out.println(text);
System.out.println(text + i);
}
}我想打印“你好”,然后是“世界”,而不是打印“你好”和"hello2“。无论如何,我是否可以通过将计数器I附加到变量测试来访问变量text2?我需要一个更复杂的程序来解决这个问题。
谢谢,马特
发布于 2011-08-10 10:04:55
您可以使用一个数组来完成这个任务:
String[] text = new String[2];
text[0] = "Hello";
text[1] = "world";
System.out.println(text[0]);
System.out.println(text[1]);还可以使用变量对数组进行索引:
int i = 1;
System.out.println(text[i]);Java通常不支持在运行时构造(本地)变量名。大多数(但不是所有)编程语言都是如此。
发布于 2011-08-10 10:04:07
您通常不能在Java中这样做--当然,对于局部变量也不能这样做。通常,如果要将字符串或整数映射到值,则应使用Map<String, ...>、Map<Integer, ...>或数组,而不是单独的变量。
例如,可以使用反射或静态变量来实现这一点,但我强烈建议您不要这样做。基本上,您应该将变量视为单独的存储位置,这些存储位置在编译时碰巧有名称,而不是从名称到值的映射。如果需要后者,请显式创建映射。
发布于 2011-08-10 10:04:53
也许您想看看数组:
String[] texts = { "Hello", "world"};
for (int i=0; i<2; i++)
System.out.println(texts[i]);
for (String text : texts)
System.out.println(text);https://stackoverflow.com/questions/7008985
复制相似问题