実行パラメータを受け取るように修正したプログラムを見ていきましょう。
プログラムに固定で書かれていたすべてのリテラル部分が実行パラメータから受け取るように変わっています。パラメータを0から順番に当てはめてあげると、最初に固定リテラルを直したプログラムと一緒になることがわかります。
もし、パラメータがなかったらどうなるでしょうか?java.lang.ArrayIndexOutOfBoundsException: 0 という Exception が発生します。これは、配列の0番目を取得しようとしたが存在しなかったことを示しています。実行パラメータを必要とするプログラムは、必ずパラメータを書くようにするか、パラメータが妥当か(数、値の内容)チェックするようにしましょう。
public static void main(String[] args) throws IOException { ConsoleInput ci = new ConsoleInput(); while(true){ String inputValue = ci.getConsole(args[0]); if (inputValue.equals(args[1]) || inputValue.equals(args[2])){ System.out.println(args[3]); break; }else{ System.out.println(args[4] + inputValue); } } }
入力しなさい。 おわり 終了 終了 入力内容=
入力しなさい。 A 入力内容=A 入力しなさい。 D 入力内容=D 入力しなさい。 おわり 終了