アプリ版:「スタンプのみでお礼する」機能のリリースについて

Javaプログラミングの質問です。

下記のように変数を定義しておき、
String aaa_0 = "AAA1";
String aaa_1 = "AAA2";

例えば、これらの変数の値を次のようにして使えますでしょうか?
(できませんが、やりたいことは、なんとなく伝わったかと思います。)
for(int i=0;i<2;i++){
System.out.println("aaa_" + i);
}

変数を動的に呼び出せますでしょうか?
アドバイスお願い致します。

A 回答 (5件)

配列使おうよ。

    • good
    • 1

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]);
}
}
    • good
    • 0

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

    • good
    • 0

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();
}
}
}
    • good
    • 1

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています