2009-06-06 23 views
1

私がしたいのは、毎回特定の数の変数に名前を付けるループを持つことです。したがって、プログラムを実行するときに、このループは3つの変数a1、a2、& a3を作成しますが、他の場合はもっと名前を付けることができます。ケース(for i=1) int型の名前はA1になりそうでJavaで変数を使用して変数に名前を付けることはできますか?

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

とINT 1.これは明らかに動作しませんが含まれていますが、そこにいた場合、私は思っていた。(この種のものは、可能であれば)この効果を達成する方法 - または私はハッキングを停止し、別のデータ構造を使用する必要がありますか?

ありがとうございました。

また、これは単なる例です。私はそれを使って配列を作成しています。

答えて

15

いいえ、これはできません。 Javaにはシンボルを構築する方法がありません。ただし、可変長配列を定義するために使用することができます。例:

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

これはあなたが望むようです。

1

私は、インデックスがiの値と等しい配列の配列を作成します。

+0

理由ポスターは、配列の配列を必要とするでしょうか? –

+0

あなたの答えであなたが提供した配列に質問者が入れようとしているオブジェクトは、彼の質問に書かれているように配列になります。私はコードを与えなかった以外は、答えは基本的に同じです。 –

2

ではなく変数A1を定義しようと、A2、A3、...あなたは、単に固定サイズの配列を定義することができます

int[] anArray = new int[10]; 

をして、[1]を参照して、[2]、[ 3]、...

2

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 
関連する問題