• 締切済み

変数を動的に利用するには?

Javaプログラミングの質問です。 下記のように変数を定義しておき、 String aaa_0 = "AAA1"; String aaa_1 = "AAA2"; 例えば、これらの変数の値を次のようにして使えますでしょうか? (できませんが、やりたいことは、なんとなく伝わったかと思います。) for(int i=0;i<2;i++){ System.out.println("aaa_" + i); } 変数を動的に呼び出せますでしょうか? アドバイスお願い致します。

みんなの回答

回答No.5

配列使おうよ。

  • ninoue
  • ベストアンサー率52% (1288/2437)
回答No.4

String Array として使用できます。 次を参照ください。 public class zz { public static void main(String[] args) { String saa = "String aa"; String sab = "String ab"; String sac = "String ac"; String sad = "String ad"; String saz = "String az"; String[] straa = {saa,sab,sac,sad}; straa[3] = saz; for(int i = 0; i < 4; i++) System.out.println( "straa[" + i + "] = " + straa[i]); } }

回答No.3

できませんが, Map で同等のことはできます。

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

aaa_0やaaa_1がローカル変数ではなくてフィールド(クラス変数やインスタンス変数)であれば、リフレクションを使ってこんな風に書けます。あまりお勧めはしませんが。 public class X { private String aaa_0 = "AAA1"; private String aaa_1 = "AAA2"; public static void main(String[] args) { X obj = new X(); try { for (int i=0; i<2; i++) { java.lang.reflect.Field f=obj.getClass().getDeclaredField("aaa_"+i); System.out.println(f.get(obj)); } } catch (Exception e) { e.printStackTrace(); } } }

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

素直に配列を使うのが吉かと.

関連するQ&A