2012-03-31 16 views
-1

名前がSystem.out.print()メソッド内にある変数を参照したいと思います。一連の変数を参照することは可能ですか?

public class Loopname { 
    public static void main (String [] args) { 
    int num = 1; 
    String file1 = "Hello"; 
    System.out.print("file" + num); 
    } 
} 

このコードを実行すると、出力として「file1」が取得されます。これは完全に理解できますが、私はその価値を取り戻したいと思います。私はprintメソッドで個々に呼び出さずに一連のファイルを呼びたいので、これをやっています。

概念コードは:

public class Loopname { 
    public static void main (String [] args) { 
    String file1 = "Hello"; 
    String file2 = "Hola"; 
    String file3 = "Bonjour"; 

    for (int i=1; i<=3;i++) { 
     System.out.println("file" + i); 
    } 
    } 
} 

私は、ユーザーが見たい:

Hello 
Hola 
Bonjour 

は、私が何かアドバイス、コードのシンプルなバージョンに開いています。

+3

これは「Javaのやり方」ではないため、ほとんどの場合は機能しません。より多くのプログラミング知識を身につけていくと、変数名はそれほど重要ではなく、実行中のコードにもほとんど存在しないことがわかります。 –

+0

あなたは何をしたいですか?変数のメンバーをクラスのメンバーにする場合、そのクラスのリフレクションを使用して名前にアクセスできます。 – nansen

答えて

3

は、配列を使用します。

String files[] = new String[]{"Hello", "Hola", "Bonjour"}; 

for (String file : files) { 
    System.out.println(file); 
} 
+0

これは可能ですか?String files [] = new String [] {"Hello"、 "Hola"、 "Bonjour"}; 2次元配列を使用しますか?何かが好きです:文字列ファイル[] [] = new String [] [] {"Hello"} {"Bonjour"}; – user1299661

+0

@ user1299661:うーん、2D配列を使用できます。しかし、私は本当にあなたがこれで行くつもりはわかりません... – NPE

0

ありません、あなたがそれを行うことはできません。それらを何らかの配列に入れてループさせる必要があります。

+1

a)あなたは実際に*できる*、b)あなたの主張の参照を提供しない、c)あなたはOPに働く解決策を提供しない – vaxquis

関連する問題