Java Mid Basic 〜Lv1Javaの基本を理解する(ゲームループ付き)〜

イントロダクション

Javaの基本を改めてやろうと思います。
今までの「Java Basic」シリーズは基本的なことをやった後に「基本を使用して何かをする」というのが目的だったのですが、基本の練習をしていなかったことに気がつき。。。現在に至るという次第です。

ハローワールド

初めのプログラムとしてどの言語でも使用するプログラムです。このプログラムは応用範囲が広くいろんな場所で使用できます。
基本にするページは下のリンクになります。
Java Hello World はじめのプログラム 〜 Step1-1〜ここの記事では、以下のようなことを記載しています。

  1. Javaは、メインメソッドが動く
  2. クラスやメソッドの書き方
  3. 練習問題

今回やること

Hello Worldの応用として、標準入力を使用したシンプルアプリケーションを作成してみようと思います。
この処理は、今後実装するSocket通信で使用することもできます。

標準入力の実装

標準入力に関しては、JavaAPI(JDK)ですでに用意されています。具体的には「System.in」です。言葉にすると「Systemクラスのフィールド変数『in』」のことです。これを使用してユーザーの入力を受け取るには下のようなコードを使用します。

Scanner scan = new Scanner(System.in);
String input = scan.readLine();

このコードは、入力した文字(Enterキーが押下されるまで)を取得します。文字列型の変数「input」に入力した文字列を受け取ります。

問題のポイントは受け取った文字列を使用して標準出力へ指定の文字列を表示するところです。

問題

標準入力を受けて、受けた文字列により以下の文言をコンソールに表示するプログラムを作成してください。
[ヒント]Gitにアップしてあるコードを参考にしてみてください。

  1. IN: "hello" => OUT: "Hello World!"
  2. IN: "タイガー" => OUT: "マイコンジャー!炊きたて!"
  3. IN: "1 + 1" => OUT: "2"
    ただし、"2 * 4"などのように計算式の場合は計算した結果を表示する

イメージ

サンプルコード

JavaのCodeはGitにアップしてあります。

public class Lv2HelloWorld {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while(true) {
            System.out.print("入力してください: ");
            String inStr = input.nextLine();
            if ("hello".equals(inStr)) {
            System.out.println("Hello World!");
            } else {
                System.out.println("想定外の入力です");
                break;
            }
            System.out.println("Next command ... ");
        }
        System.out.print("AP is fiinished. Bye!");
    }
}

これで、入力→コンソール表示の簡単なゲームが作成できると思います。
是非、遊んでみてください。

## ポイント
1. 標準入力を受けて、受けた文字列を条件分岐させて表示内容をハンドルするところです。
2. 無限ループの中にループを脱出する処理を入れるところです。これを入れないと処理が終わりません。

### 条件分岐

### 無限ループ
無限ループのサンプルコードです。
```java
while(true) {
// 何かしらの処理
}
```
無限ループするならこのコードがシンプルで、自分は気にっています。

でわでわ。。。
次回>>>

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜

投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す