web-dev-qa-db-ja.com

変数名をインクリメントしますか?

さて、私がやっていることのために、変数名をインクリメントする必要があります。たとえば、int Taco1 = 23432 ..... int Taco2 = 234235656 ..... int Taco3 = 11111.....。

しかし、代わりに私はそれが次のような変数である必要があります

 int X = 0;
 some method with loop or recursion()
 int Taco(X) = bla bla bla
 x++

変数名を自動的に取得しようとすると、毎回1ずつ増加するため、変数名が上書きされることはありません。これが不可能な場合は、お詫び申し上げます。

6
CMOS

Javaでこれを行うことはできません。さらに重要なことに、これはJavaの動作方法ではないため、これを行いたくありません。実際には変数です。名前は思ったほど重要ではなく、コンパイルされたコードにはほとんど存在しません。さらに重要なのは、オブジェクトへの参照をできるだけ簡単で信頼性の高い方法で取得できることです。これには配列が含まれる場合があります。 、ArrayList(おそらくここで必要なもの)、LinkedList、HashMapなどのマップ、Set、およびその他のタイプのコレクション。

例えば:

List<Taco> tacoList = new ArrayList<Taco>();
for (int i = 0; i < MAX_TACOS; i++) {
   tacoList.add(new Taco(i));
}

実際、変数に基づいて識別子名を生成することは不可能です。おそらくあなたが欲しいのは配列です:

int[] Taco = new int[ 15 /*some appropiate upper limit*/ ];

Taco[X] = bla bla bla;

アレイとは何か、およびそれらがどのように機能するかに関する基本情報をWebで検索してください。

6
K-ballo

int[]またはList<Integer>を使用します。

int[] tacos = new int[numberOfTacos];
// in some loop or whatever
tacos[x] = someValue;
2
ColinD

intの配列を使用します。言うint taco[50];各場所をtaco[0]taco[1]などとして参照できます

1
COD3BOY

TacoXは整数になり、Xintの配列を作成します。最大数が10の場合、次のようになります。

int[] taco = new int[10];

次に、tacoXを変更/読み取るには、taco [X]を確認します。

0
jamesatha