受講生のT氏から面白いお題が届いたので一緒にやってみよう。
ベースとなるカレーを選択し、トッピングの種類を選択するとランダムにトッピングを決定してくれるアプリだ。このトッピングの種類は意外とカレーに合うトッピングの中からセレクトされている。プライベートでも試してみよう。
実行例
今夜のカレーを決めます
ベースとなるカレーを選択してください0:ポーク,1:ビーフ,2:チキン>1
トッピングは何種類?>5
今夜のカレーは「鯖の水煮ツナ缶あげ玉納豆大根ビーフカレー」に決まりました!
トッピング配列
final String[] TOPPINGS ={
"大根","セロリ","里芋","カブ","ゴーヤ","キュウリ","カツオのたたき","ラム肉",
"鯖の水煮","ブリ","タコ","ちくわ","魚肉ソーセージ","こんにゃく","ツナ缶",
"納豆","アボガド","レーズン","あげ玉",
};
挑戦!
自分でコーディングできそうな人は挑戦してみよう。
解答例
import java.util.*;
public class CurryMaker {
public static void main(String[] args) {
String[] curry = {"ポーク","ビーフ","チキン"};
System.out.println("今夜のカレーを決めます");
System.out.print("ベースとなるカレーを選択してください0:ポーク,1:ビーフ,2:チキン>");
int input = new Scanner(System.in).nextInt();
String base = curry[input]+"カレー";
System.out.print("トッピングは何種類?>");
int toppingCount=new Scanner(System.in).nextInt();
String todayCurry = curryMaker(base,toppingCount);
System.out.println("今夜のカレーは「"+todayCurry+"」に決まりました!");
}
static String curryMaker(String baseCurry,int toppingCount){
final String[] TOPPINGS ={
"大根","セロリ","里芋","カブ","ゴーヤ","キュウリ","カツオのたたき","ラム肉",
"鯖の水煮","ブリ","タコ","ちくわ","魚肉ソーセージ","こんにゃく","ツナ缶",
"納豆","アボガド","レーズン","あげ玉",
};
String topping="";
for(int i=0;i<Math.min(toppingCount, TOPPINGS.length);i++){
int index = new java.util.Random().nextInt(TOPPINGS.length-i);
topping += TOPPINGS[index];
TOPPINGS[index]=TOPPINGS[TOPPINGS.length-1-i];
}
return topping+baseCurry;
}
}
コメント