我想做的是每次都有一个循环来命名一定数量的变量。因此,有时当我运行程序时,这个循环将创建3个变量a1,a2& a3但其他时候它可以命名更多,例如(如果可能的话):
for(int i=1; i<=n;i++) {
int ai = i;
}
因此在(for i=1)
的情况下,int的名称将是a1并包含int 1.这显然不起作用,但我想知道是否有办法实现这种效果 - 或者应该我停止黑客攻击并使用不同的数据结构?
感谢。
此外,这只是一个例子。我正在用它来创建数组。
答案 0 :(得分:16)
不,这是不可能的。 Java无法构造符号。但是,您可以使用它来定义可变大小的数组。例如:
int[] a = new int[n];
for(int i = 0; i < n; i++) {
a[i] = i;
}
这似乎是你想要的。
答案 1 :(得分:3)
Map
import java.util.HashMap;
import java.util.Map;
public class test {
public static void main(String[] args) {
//Fill your map structure
Map<String, Integer> theMap = new HashMap<String, Integer>();
for(int i = 1; i <= 100; i++) {
theMap.put("a" + i, i);
}
//After this you can access to all your values
System.out.println("a55 value: " + theMap.get("a55"));
}
}
节目输出:
a55 value: 55
答案 2 :(得分:2)
不是试图定义变量a1,a2,a3,......而是可以简单地定义一个固定大小的数组:
int[] anArray = new int[10];
并参考[1],a [2],a [3],......
答案 3 :(得分:1)
我只会创建一个数组数组,其中索引等于i值。