〜Lv2_5_Javaの基本(コマンド履歴を作る)ゲームループ付き〜ツイートイントロダクション前回は「dirコマンド」を実装しました。"配列はこんな感じ")」というものを作成したので記載しておきます。「コマンドを実行」という目的を達成する事が出来たので良しとします。Listを使うリストインターフェースなどに関してはこちらの記事を見ていただきたく思います。今回はこのListを使ってコマンド履歴を作る事にします。今回はリストをフィールド変数にする事でアプリが起動している間データを保持する様にします。現状の設計はじめに、アプリを起動したら、コマンドの入力待ちをします。上の「その他〜」の部分から変更します。変更したところは「byeと入力されたら〜」の部分を追加しただけです。アプリが終了した時に入力されたコマンドの一覧をコンソールに出力する処理を実装します。具体的に入力されたコマンドは保持する必要があります。「登録する」とか「保存する」というのはDBやファイルに保存してアプリが終了してもそのデータが保存されることを指します。「保持する」というのはアプリケーションが起動している間など、一時的に保存することを指します。その簡単な方法として「フィールド変数」を使用する方法がります。フィールド変数フィールド変数は下のようにクラスの中に記載します。ちなみに下のクラスは「人間」を表すクラスを作成しました。クラスとはフィールド変数とメソッドを持っている、カプセル化されたオブジェクトです。greet()で挨拶をしますこのような形でフィールド変数を使用します。スコープここで「スコープ」という言葉について記載したいと思います。この言葉は「変数の寿命」を意味します。上のコードで行くとフィールド変数はクラスのインスタンスがある間ずっと生きている変数になります。具体的には下のコードでHumanクラスを実行した時にローカル変数「num」はメソッドが動いている間だけ生きている変数です。num;というコードが複数あってもビルドエラーにはなりません。human.greet();}このように処理を行った時、1回目のgreet()で「age」は10040と表示されますが、2回目は「10041」と表示されます。対して「num」は何回実行しても「10」のままです。スコープにより変数の寿命が違うのでこのような違いが出ます。実装方法に関してはこれまでに記載したので、作成したコードと実行結果を載せます。[サンプルコードはGit](https://github.com/ZenryokuService/PracticeJava1/blob/master/PracticeJava1/src/jp/zenryoku/sample/lv2/Lv2_5_CommandHistory.java)に揚げてあります。