2016-06-17 77 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

這不是完全清楚你想達到的目標。你的程序是用來輸出源代碼還是做其他的事情?另外,這些變量的類型是什麼? (你所描述的源代碼目前無效。) –

+0

變量應該是字符串類型的......我忘記提及......爲不方便而煩惱。 –

+1

聽起來像是一個Map 的作業。 – EJP

回答

2

通常不需要爲變量命名,但有機會用名稱檢索該變量。

考慮將變量存儲在Map<String, Object>中,其中密鑰是變量的名稱。 A Map是:

將鍵映射到值的對象。地圖不能包含重複的鍵;每個鍵可以映射到最多一個值。

類似下圖的代碼可以幫助:

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

這是不可能的運行時間來聲明變量名。 您可以嘗試另一種方式:

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

各行的最後一個字獲得的價值:

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