2017-03-18 60 views
0

我有以下枚舉:解釋用戶輸入作爲一個枚舉實例

public enum Food { 
APPLE, 
BREAD, 
PIE, 
STEAK; 
} 

我要存儲用戶選擇的食品,像這樣Food food = scanner.next()(顯然這是不正確的)。什麼是一個很好的方法來做到這一點?

+0

可能的選擇是創建地圖的String:食品和使用基於來自用戶的字符串輸入。 – chatton

+1

你見過這個嗎? https://stackoverflow.com/questions/604424/lookup-enum-by-string-value – Infinity

+0

正是我在找什麼! – CaffeinatedSynapse

回答

-1

你可以做到以下幾點:

Scanner scanner = new Scanner(System.in); 

Food food; 
String input = scanner.next(); 
for (Food item : Food.values()) { 
    if(input.equals(item.name())) food = item; 

}