はじめに
Javaの学習を始めて間もないですが、アウトプットとして簡単な「数当てゲーム」を作成しました。
まだ改善できる点も多いですが、現時点での実装内容と実行結果、そして振り返りをまとめます。
作った目的
- Javaの基本文法(if文・for文)に慣れる
- 標準入力(Scanner)の使い方を理解する
- 簡単なロジックを自分で組めるようになる
実装内容
0〜9のランダムな数値を生成し、ユーザーが最大5回まで予想できるゲームです。
入力した数値が一致すれば「あたり!」と表示し、違う場合は「ブブー」と表示されます。
コード
public class Practice3{
public static void main(String[] args) {
System.out.println("【数当てゲーム】");
int ans = new java.util.Random().nextInt(10);
for (int i = 0; i < 5; i++){
System.out.println("0〜9の数字を入力してください");
int num = new java.util.Scanner(System.in).nextInt();
if (ans == num){
System.out.println("あたり!");
break;
} else {
System.out.println("ブブー");
}
}
System.out.println("ゲームを終了");
}
}
実行結果
【数当てゲーム】
0〜9の数字を入力してください
5
ブブー
0〜9の数字を入力してください
1
ブブー
振り返り・改善点
今回実装してみて、いくつか気づいた点がありました。
Scannerをループ内で毎回生成してしまっているため、効率が良くないと感じた
正解した場合にループを抜ける処理(break)は理解できた
回数制限や終了メッセージなど、基本的な流れは実装できた
今後は以下を改善したいです。
Scannerを1回だけ生成するように修正する
正解・不正解のメッセージをもう少し分かりやすくする
数値以外が入力された場合のエラー処理を追加する
まとめ
シンプルなプログラムですが、自分で考えて動くものを作れたのは良い経験でした。
引き続き、少しずつ機能を改善しながら理解を深めていきたいと思います。