Java入門@配列を利用してランダムにジャンケンの手をコンピュータに出させる
私のアウトプットも兼ねてプログラミングの基本でもある配列について書こうと思います。
一応有料にしていますが、全部読めます。
少しでも参考になったり、勉強になったりしたら、「安い教科書代くらい」だという気持ちとして購入してくれるとかなり嬉しいです。
簡単なプログラミングを作りながら説明しますので参考になれば幸いです。
配列の他にもランダムに数値を出す関数の説明も進めながら行いたいと思います。
プログラミングは一つ一つの処理の塊と、その組み合わせによって様々な処理を行っています。今回の配列とランダム関数、そしてif文を利用すればコンピュータとジャンケン勝負できるようになりますので、興味のある方は是非進めてみて下さい。
今回はとりあえず配列の部分だけの記述となりますのでご了承のほどお願いします。
if文の簡単な使い方は下記にまとめていますので是非ご覧ください。
▽はじめに
今回もeclipsでの説明となります。eclipsでの環境設定は後ほど書いていこうと思います。今回は私のアウトプットも兼ねてますので、この記事を読んでくれている方、eclipsの設定はこちらにはありませんのでご了承のほどお願いします。
また、プロジェクトの作成、パッケージの作成、クラスの作成も出来ると前提として書いていこうと思います。
プロジェクトの作成、パッケージの作成、クラスの作成ができない方は、こちらにまとめてますのでこちらから進めてみて下さい。
また、Pythonがいい!!と思っている人へPython入門も書いてますのでこちらもよろしくお願いします。簡単な英単語張を作りながら学べますのでオススメです。
では、本題に参ります。
1.配列
変数に複数のデータを一括で入れることができます。これを[配列]といいます。配列は番号で管理されているので使い勝手が良いです。
ではクラスを作成してmainを書いて下さい。私は[Janken]としました。
分からない方はこちらを確認してみて下さい。
▼代入の仕方
配列の代入方法は少し変わります。普通の変数と比較しながら確認しましょう。
では、書いてみましょう!!
String[] hands = {"グー", "チョキ", "パー"};
[ ]←これは配列の宣言で、
{ }(波カッコ)で配列にしたい要素を囲い、
,(カンマ)で区切ることで代入します。
これで[hands]に"グー", "チョキ", "パー"が代入されました。
▼配列番号を理解する
配列は左から番号で管理されています。まずはそれを覚えましょう。
管理番号は左から[0]で始まり、右へ[1]、[2]へと増えていきます。
この[0]から始まるということをしっかり覚えていてください。
次は出力してみます。
System.out.println(gu);
System.out.println(hands[0]);
両方[グー]が出力させればOKです。
他にもhands[1]、hands[2]を出力してみてください。[チョキ][パー]と出力されればOKです。
出力方法分からない方は下記書いてますので参考にしてみてください。
これで全ての手を出力する準備ができました。変数[gu][choki][pa]の3行は配列と区別するために書いただけなので、消してOKです。
次は配列を利用してランダムに出力する準備を行いたいと思います。
2.ランダム関数
ここからは一旦ジャンケンからはなれて考えていきたいと思います。
新しくクラスとmainを作成してください。私は[Random]としました。
忘れた方は下記参考にしてみて下さい。
まずはJavaに予め準備されているランダムに数を生成してくれる関数を使って変数に代入してみましょう。
▼出力される乱数 0.0〜0.1
これで乱数を生成します。ここで注意点がありますので確認しましょう。
上記書いてある通り、1.0未満の小数点月の数値が生成されます。
今まで書いてきたnoteは
数値で整数のint型、文字列のString型でした。
今回は小数点を扱いますのでdoubul型となります。全note含めて3種類目ですので復習もかねて確認しましょう。
では小数点のdouble方を乱数で生成して代入して出力してみましょう。
double d = Math.random();
System.out.println(d);
変数[d]に代入しそのまま出力するコードになります。結果は下記のようになります。1.0未満の小数点が出てくるのが分かると思います。
何回かやってみてください。毎回結果が違ってくるはずです。
小数点ではジャンケンに使えないので小数点(double)から整数(int)へと変換します。
▼キャスト(変換)して代入
この変換することを[キャスト]と言います。ではキャストするコードを書いていきます。とりあえず意味は深く考えないで、int型にしたんだな。と思えばOKです。
int i = (int)(Math.random() * 10);
System.out.println(i);
整数での乱数生成の流れを確認しましょう。
つまり[ i ]は0〜10未満のint型の整数を持っています。
ではコレで何ができるのでしょうか。話しを配列に戻します。
配列の管理番号を覚えていますか?もう一度画像を載せておきます。
このhands[0]とかhands[1]とかhands[2]です。この[ ]の中にランダムで生成した整数を打ち込めば、ランダムでジャンケンの手を出力してくれます。
では[Janken]のクラスに戻りましょう!!
3.配列+乱数(課題)
使わないコードはコメントアウトか、削除しましょう。
//←でその一行をコメントアウトすることが出来ます。
この[Janken]クラスに先ほどの乱数を生成させるコードを入れてランダムに出力するジャンケンを完成させてください。
ここまできたらあとは組み合わせるだけです。全部このnoteに書いていますので自力でやってみてください。
5.まとめ
ここではあえてランダムにジャンケンの手を出力させるコードを出すのは控えたいと思います。
自分で考えて、思い通りに動いた時、何とも言えない爽快感が癖になります。是非ともパーの処理とエラーの処理を書いていただいて味わっていただければと思います。
次回はキーボードからの入力で代入を行うnoteを書く予定をしていますのでまた読んでくれると嬉しいです。
そして、いいnoteだと思ったら500円でも入れてくれると励みになります。
最後まで読んでいただきありがとうございました。
ここから先は
¥ 500
この記事が気に入ったらチップで応援してみませんか?