Javaプログラミング初心者のためのページ -77ページ目

デバッグ実行で文法&動作確認(1)

動作を確認するのに便利なのが、デバッグ実行。

プログラミング上の間違いを解決するための機能です。ステップ実行と呼ばれる、1つずつの命令のたびに変数の状態などを確認しながら実行できます。


mainメソッドを持つプログラムを記述時、

実行をとめたい行でブレークポイントの設定をします。

とめたい行で、エディタ上の、普段エラーの赤いマークや警告の黄色いマークが出る場所をダブルクリックします。

●が表示されればブレークポイント設定完了!


プログラム記述後、

javaファイル右クリック→デバッグ→Javaアプリケーション


初めてのデバッグ実行であれば、以下のように聞かれるのではいと答える。



パースペクティブ確認

ステップインやステップオーバーのボタンを使って処理を進める。右上のタブには現在実行中メソッドの、ローカル変数が表示される。

左上には実行しているクラスが見える。

以下の画面は、変数名が同じでもメソッドが違えばOK。

別々の領域に作成されることがわかります。



デバッグ

自動生成されるコメントがうっとうしい?

クラス生成時にmainメソッドのチェックを入れると、コメントとともにmainメソッドをつけてくれます。



クラス


でもプログラミングの勉強にはこのコメントはなくてよいです。

邪魔なので、コメントが出てこないように設定しておきましょう。


ウィンドウ→設定

Java→コード・スタイル→コード・テンプレート

で出てくる画面で、


コメント→メソッド→編集

と、

コード→メソッド本文→編集

で、不要なコメントをはずせます。


デフォルトの復元 とすれば元に戻せるので、

その他のコメントもばんばん省いちゃってください。



キーボード入力の命令は?

System.inです。


InputReaderとBufferedReaderを使用する方法が昔ながらの方法ですが、


Java SE 5以降で使える、楽な方法はScannerクラスです。


プログラムのクラス定義前に
import java.util.Scanner;

を書いておき、



Scanner key = new Scanner(System.in);


でキーボードからの入力を受け付けるオブジェクトが作成できます。

改行されるまでの文字列を取り込みたいのであれば、区切り文字(デリミタ)の

設定を行います。


key.useDelimiter(System.getProperty("line.separator"));


おまじないだと思ってください。


その後、


String input = key.next();


とするだけで、右辺の評価時にキー入力待ちとなります。

入力した文字列がinputに代入されます。


さらに、数値を入力させるのであれば、

int value = key.nextInt();

でOKです。


今は理屈はわからなくてもOK。


import java.util.Scanner;


Scanner key = new Scanner(System.in);

key.useDelimiter(System.getProperty("line.separator"));

String input = key.next();

int value = key.nextInt();


を使って、キー入力した値に基づいて、

分岐や繰り返しを行うプログラムを書いてください。

まずは、アルゴリズムの記述になれることが大切です。