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

时间:2009-06-06 02:19:08

标签: java

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

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

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

感谢。

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

4 个答案:

答案 0 :(得分:16)

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

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

这似乎是你想要的。

答案 1 :(得分:3)

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<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值。