2017-03-18 14 views
0

私は、次の列挙型を持っている:列挙型のインスタンスとしてユーザー入力を解釈

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

私は(もちろん、これは間違っている)ので、Food food = scanner.next()のように、ユーザーの選択した食品を保存します。それを行う良い方法は何でしょうか?

+0

可能なオプションは、文字列のマップを作成することです。 – 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; 

} 
関連する問題