ランダムダイアリー(複数のメソッド、乱数、配列)
■ランダムダイアリー
0から4までのランダムな数字(重複してもOK)をそれぞれのメソッドへ引数として渡す。
whenメソッドでは、 {"先月","先週","一昨日","昨日","今日"}
whoメソッドでは、{"私は","彼女は","彼は","父は","母は"}
whereメソッドでは、 {"家で","お店で","海で","山で","道で"}
whatメソッドでは、{"歌った","ご飯を食べた","お茶を飲んだ","泣いた","笑った"}
の配列を用い、全ての要素をmainで表示して日記を完成させる。
ex) whenメソッドで[2]、whoメソッドで[3]、whereメソッドで[1]、
whatメソッドで[0]を受け取った場合の結果は、
【一昨日 父は お店で 歌った】と表示される。
自分なりにコーディングしてみましたが、あと一歩(かどうかはわかりませんが)のところで躓いてしまいました。
コメント文に記載してますが、//ここから~//ここまでの部分でエラーが出てしまいます。
「型 randamdiary のメソッド where(String) は引数 (int) に適用できません」
Stringをintに変換して引数に適用させようとしてもなかなか解消されません。
そもそもの根本的なモノが間違っている可能性がありますが、ご教授いただければと思います。
public class randamdiary {
public static void main(String[] args) {
int randam = (int) (Math.random() * 5);
//ここから
String w = when(randam);
String x = who(randam);
String y = where(randam);
String z = what(randam);
//ここまで
System.out.println(w + x + w + z);
}
public static int when(String a) {
String when1[] = { "先月", "先週", "一昨日", "昨日", "今日" };
int w = 0;
when1[w] = a;
return Integer.parseInt(a);
}
public static int who(String b) {
String who1[] = { "私は", "彼女は", "彼は", "父は", "母は" };
int x = 0;
who1[x] = b;
return Integer.parseInt(b);
}
public static int where(String c) {
String where1[] = { "家で", "お店で", "海で", "山で", "道で" };
int y = 0;
where1[y] = c;
return Integer.parseInt(c);
}
public static int what(String d) {
String what1[] = { "歌った", "ご飯を食べた", "お茶を飲んだ", "泣いた", "笑った" };
int z = 0;
what1[z] = d;
return Integer.parseInt(d);
}
}