質問: 1; ( カ ); j++) { System.out.print(moji); System.out.print(" "); } System.out.println(); } } } ━ ■問2 上記のプログラムにおいて,コマンドラインから入力した引数が2個でない場合は注意を促すように,プログラムを書き換えなさい。 ■問3 上記のプログラムにおいて,コマンドラインから入力した引数が意図したものとは違う場合は例外処理を行うような機能を追加しなさい。 ### 試したこと 何度も実行を試みましたが正しい実行には至りませんでした。 初心者すぎる質問かもしれませんが解説をしていただけると有難いです。
回答: ヒントを書いてみます。参考になれば幸いです。 問1 === * ア、イ → コマンドライン引数が含まれた文字列配列`args`を使います。片方は整数に変換する必要があるので、`Integer.parseInt()`等を使いましょう。 * ウ → 行数の繰り返しにあたります。行は`mojisu`回繰り返したいので...? 今回は`<=`(`>=`)のような小なり(大なり)**イコール**を使うという点に注意です。 * エ → 行内(列)の繰り返しにあたります。四角形ということは一辺は`mojisu`ですから、`moji`は`mojisu`回出力したいことになります。ということは...? * オ → ウと同じです。 * カ → 行内(列)の繰り返しにあたります。三角形ということは一辺は○ですから...(ry さて、ここの○はちょっと考えてみてください。繰り返し変数に注目しましょう。 問2 === `args`の要素数を確認すれば良さそうです。配列の要素数は`配列名.length`で確認できます。 `要素数 != 2`とすればif文で分岐できそうです。 問3 === 問2で作ったif文内に`throw`を設けましょう。 try-catch文で`moji`、`mojisu`に代入する部分を囲い、独自例外をキャッチさせるようにして、キャッチした場合は改めて入力させるようにすると親切かもしれません。