今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

引数付きJavaアプリケーションをEclipseでテストする方法

まったくの初心者に Java を教え始めてみたってのはこの前の日記で書いた。
やったことは、まずは JDK のダウンロードとインストール。それから、All-In-One-Eclipse のダウンロードとインストール。多少バージョンが古いけど、細かいことを気にせずに一発のダウンロードとインストールでそれなりに使えるようになるので、All-In-One-Eclipse にした。
あとは、いろんなサイトにあるサンプルプログラムを作ってもらったりしてるんだけど、多くのサイトでサンプルプログラムをコマンドプロンプトから起動させる方法で説明してる。引数なしだといいんだけど、引数付きで起動させるプログラムも結構あったりする。
例えば、引数からループ回数を指定するサンプルを作ってみる。

class ForSample {
    public static void main(String[] args) {
        int max = 10;
        if (args.length > 0) {
            max = Integer.parseInt(args[0]);
        }
        for (int i = 0; i < max; i++) {
            System.out.println("i = " + i);
        }
    }
}

引数を指定するには、Eclipse の「構成および実行」画面の引数タブで指定するのが普通なんだろうけど、引数の値を変更しながら何度も起動させるのはかったるくてやってられない。
なんかうまい方法はないかと考えて思いついたのがこの方法。
Launcher という新しいクラスを作って、そこから呼び出してやる。

class Launcher {
    public static void main(String args) {
        String s = {"15"};
        ForSample.main(s);
    }
}

Eclipse を使ってる初心者にコマンドライン引数を教えるのは難しいけど、こちらの場合は単なるクラスメソッド呼び出しだから教えやすい。ターゲットに渡す引数の値を変更するのもコードを書き換えるだけ。いちいち「構成および実行」画面を開かなくてもできる。