2016-06-17 7 views
0

は私が内容のファイルがあるとします。宣言変数をプログラム

I want to declare a variable called science. 
I want to declare a variable called commerce. 

今、私は上記のファイル内の各行の最後の言葉に基づいて変数を宣言します。例: -

public static String SCIENCE; 
public static String COMMERCE; 

どうすればいいですか?私はこれがquestionがbashで同じことをしようとしていると思います。

どのようにJavaで行うことができますか?

+1

Map<String, Object> maps = new HashMap<>(); maps.put(the last word of each line, the value); 

は、各ラインの最後のワードで値を取得します。あなたのプログラムはソースコードを出力することを意図していますか?また、これらの変数のタイプはどのようになりますか? (あなたが記述したソースコードは現時点では有効ではありません) –

+0

変数は文字列型であると考えられています...言及するのを忘れてしまいました。 –

+1

'Map 'の仕事のように聞こえます。 – EJP

答えて

2

通常、変数に名前を付ける必要はありませんが、変数を名前で取得する機会があります。

変数をMap<String, Object>に格納することを検討してください。ここで、キーは変数の名前です。マップは次のとおりです。

キーを値にマップするオブジェクトです。マップに重複キーを含めることはできません。各キーは最大でも1つの値にマップできます。

次のようなコードを助けることができる:

Map<String, Object> map = new HashMap<String, Object>(); 

... 
// To store an object with a key myName 
map.put("myName", obj); 

... 
// To retrieve an object with a key myName 
Object obj = map.get("myName"); 
0

おそらく、変数を表す抽象クラスまたはインタフェースを作成することができます。その後、文字列をコードに変換することによって初期化することができます。このようなものを使用すると、Convert String to Codeのようになります。

+0

あなたがしたいと思っているものから、コード –

+0

に変換された文字列をたくさん持っている可能性があります。この回答は問題を解決するかもしれません...私は試してみてください...とにかく感謝します。 –

2

を時間を実行している変数名を宣言することは不可能です。 あなたは別の方法を試すことができます:それはあなたが達成しようとしているもので、すべてのはっきりしない

maps.get(the last word of each line);