• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:多次元配列について質問)

解答ソースコードの要約

このQ&Aのポイント
  • 解答ソースコードには、じゃんけんゲームを作成するためのメソッドが含まれています。
  • メソッドの中には、乱数を生成したり、人が入力したじゃんけんの結果を判定したりする処理が含まれています。
  • また、解答ソースコードには「勝敗表」と呼ばれる2次元配列がありますが、その意味について質問があります。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

我々は、よく1から数えます。 なにかに番号をつけるときも1から付けます。 対して、Javaの配列等、コンピュータではよく0から始まります。 この二つを対応させる方法は2つです。 ・人が使う1から始まる数値を1減らして、0から始まる数値の変換する ・コンピュータ側で0を使わず、1から始める。 この例題では後者を使っています。ジャンケンのそれぞれを1,2,3に対応させ、その数値をそのまま配列に使っています。 このときの注意として ・JavaやC等では、配列の宣言は、要素の個数で指定します。よって、a[n]と宣言したときに使えるのは0~n-1までです。 0を使わず3まで使いたい場合は、 添字の最大値n-1が3、つまり n=4 の要素が必要です。 ・0は使わないので、何が入っていてもいいのですが、万が一プログラムに間違いがあって0を使ってしまった場合に、なんかの方法で異常だと判定できるようにすると便利です。 その方法の一つが、通常は使わない値を入れておく、というものです。 今回、値として0,1,2を使うので、それ以外なら異常、という判断ができます。この例では9を使っていますが、正常値と区別できればなんでも構いません。よく使われるのは「桁はずれに大きい/小さい値」「(非負が正常値なら)負の値」等です。

wantanton
質問者

お礼

丁重なご回答誠にありがとうございます! じゃんけんの「手」と要素番号1,2,3を対応させてたんですね! それで、要素番号0は不要だから、まあテキトウに9を入れてしまえと! そういうことだったのか!

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

実装者の趣味です jankenメソッドの実装方法はいろいろあるかと思います この回答の実装者が二次元配列を好んだにすぎません > 2点目:何故2次元目の要素数が「4つ」あるのかわかりません。 二次元配列で勝敗を表した場合3x3でもいいはずです その場合入力1をindex=0、入力2をindex=1、入力3をindex=2と加工するか もしくは入力3をindex=0にして二次元配列を読むことになります この回答の実装者はそれを嫌ったようです でも配列なのでindex=0の場所にもナニカ値を入れておかなくてはいけません > 1点目:何故「9」という数字があるのかわかりません 別に何でも良かったと思います 実装者が9が好きだったのでしょう 別に0でも-1でもなんでもいいです

wantanton
質問者

お礼

丁重なご回答誠にありがとうございます! だいぶ理解できました!

関連するQ&A