是否可以使用Java中的变量命名变量?

我想做的是每次都有一个循环来命名一定数量的变量。 因此,有时当我运行程序时,这个循环将创建3个变量a1,a2和a3,但有时它可以命名更多,例如(如果这种事情是可能的):

for(int i=1; i<=n;i++) { int ai = i; } 

所以在这种情况下(for i=1) ,int的名称将是a1并包含int 1.这显然不起作用,但我想知道是否有办法实现这种效果 – 或者我应该停止黑客并使用不同的数据结构?

谢谢。

此外,这只是一个例子。 我用它来创建数组。

不,这是不可能的。 Java无法构造符号。 但是,您可以使用它来定义可变大小的数组。 例如:

 int[] a = new int[n]; for(int i = 0; i < n; i++) { a[i] = i; } 

这似乎是你可能想要的。

Map

你可以使用Map的实现,比如HashMap吗?

 import java.util.HashMap; import java.util.Map; public class test { public static void main(String[] args) { //Fill your map structure Map theMap = new HashMap(); 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 

而不是尝试定义变量a1,a2,a3,…您可以简单地定义一个固定大小的数组:

 int[] anArray = new int[10]; 

并参考[1],a [2],[3],……

我只会创建一个数组数组,其中索引等于i值。