• ベストアンサー

Javaの問題がわからないです

Javaの問題がわかりません。 この問題の答えはBです。 解き方がよくわかりません。4行目のnameはなぜbillになるかなどもわからないです

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.4

>Strings name = args[1] >配列の1番目を代入しています。 >この時点でnameは書き換えられているのでBは無い。 2行目のnameと、4行目のnameは別物です。 なので「この時点でnameは書き換えられている」はありません。

その他の回答 (3)

  • Kaneyan-R
  • ベストアンサー率42% (1370/3195)
回答No.3

Strings name = args[1] 配列の1番目を代入しています。 この時点でnameは書き換えられているのでBは無い。 配列は引数として与えられて、 java Test kei bill として実行しているので、Aは無い。引数はkeiとbill。 よって、 args[0] = kei args[1] = bill となり、nameはbillとなる。 どこが理解できませんか?

  • t_ohta
  • ベストアンサー率38% (5292/13828)
回答No.2

5行目でTestクラスのインスタンスを作ってobjに入れています。 6行目でobjの中のname変数の値を出力しています。 5行目で作ったobjはTestクラスのインスタンスですから、Testクラスでname変数がどの様に定義されているかというと、2行目にある通りhanaが入っていますので6行目で出力されるのはhanaになります。 4行目ではnameにargs配列変数の添字が1の中身を代入しています。 args配列変数は3行目のmainの定義で引数として受け取っています。 mainの引数はプログラム実行時にプログラム名に続けて書いたモノがスペース区切りで配列に入って引き渡されます。 プログラムの実行は「java Test kei bill」ですから、3行目のmainが呼ばれる際にargs配列にargs[0]="kei"とargs[1]="bill"として入ります。 プログラムの内容としては何の捻りも無い単純なモノです。 プログラム実行からの処理を1行1行しっかり読めば分かるモノですから、ちゃんと勉強しましょう。 そうしないと演習問題をいくら解いても知識として身に付きませんよ。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

そのコードがどう実行されていくかわかりますか? 漠然と眺めて解こう解こうとしてたりしませんか?

関連するQ&A