au PAY マーケット

Java (Bronze SE 7/8) 資格試験 Exercise11

Java (Bronze SE 7/8) 資格試験 Exercise11

練習問題1
1 class Calc {
2  public static void main(String[ ] args ){
3   System.out.println(“sum : ” + (args[0] + args[1]));
4  }
5 }

01上記のコードを確認してください。
このコードをコンパイルし、java Calc 100 200 と実行すると、どのような結果になりますか。1つ選択してください。 A. sum:100200
B. 実行時エラーが発生する
C. sum:300
D. sum:100+200

(答え):A

(解説):コマンドライン引数と文字列結合についての問題です。
●各選択肢の解説は、以下の通りです。

実行時に100、200の二つのコマンドライン引数を渡しています。

3行目ではargs[0] +args[1]の結果を出力していますが、コマンドライン引数はString型配列argsの要素として格納されるため、実行時に渡した二つのコマンドライン引数は整数値ではなく、文字列になります。よって、args[0] + args[1]の処理は数値の加算ではなく、文字列の結合となり「100200」が生成されます。

したがって、3行目では「sum:100200」と出力されるため、選択肢Aが正解です。


練習問題2
1 class Calc {
2  public static void main(String[ ] args ){
3   System.out.println(“sum : ” + (args[1] + args[2]));
4  }
5 }

02上記のコードを確認してください。
このコードをコンパイルし、java Calc 100 200 と実行すると、どのような結果になりますか。1つ選択してください。 A. sum:100200
B. 実行時エラーが発生する
C. sum:300
D. sum:100+200

(答え):B

(解説):コマンドライン引数についての問題です。
●各選択肢の解説は、以下の通りです。

実行時に100、200の二つのコマンドライン引数を渡しています。

3行目でコマンドライン引数を出力していますが、args[1] + args[2]と添え字を指定しています。実行時に渡した引数はmain()メソッドの引数で宣言しているString型の配列として添え字0から順に格納されます。渡した引数はargs[0]、args[1]に格納されるため、args[2]の要素は存在しません。範囲外の要素にアクセスすることによって、ArrayIndexOutOfBoundsExceptionという実行時エラーが発生します。

範囲外の存在しない配列要素に対してアクセスするコードがあっても、コンパイルでは検知できません。3行目が実行されたタイミングでエラーが発生し、プログラムは強制終了します。

したがって、選択肢Bが正解です。


練習問題3
1 class Test {
2  public static void main(String[ ] args ){
3   System.out.println(args[0] + args[1]);
4  }
5 }

03上記のコードを確認してください。
このコードをコンパイルし、java Test Hello+Neko !と実行すると、どのような結果になりますか。一つ選択してください。 A. HelloNeko!
B. HelloNeko !
C. Hello+Neko!
D. 実行時エラーが発生する

(答え):C

(解説):コマンドライン引数についての問題です。
●解説は以下の通りです。

  選択肢A:
 実行時に、Hello+Nekoと!の二つのコマンドライン引数を渡しています。

選択肢B:
 一つ目の引数がHello+Nekoとありますが、引数の中で+演算子を使用して文字列の結合はできないため、渡した引数がそのまま文字列として配列argsの要素へ格納されます。

選択肢C:
 3行目で二つの引数を結合しているため、「Hello+Neko!」が出力されます。

選択肢D:
 したがって、選択肢Cが正解です。




恭喜你今天又向前迈进了一小步,明天继续加油哦!

如果你觉得这个网站对学习有帮助,希望你也能分享给身边的好友!

前の記事

我爱背单词#0007

次の記事

例文-Lesson54
ショップチャンネル