アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の、過去に私が質問した、2次元配列とじゃんけんアルゴリズムの質問のURLの見た上で私の質問に答えてください。
URL:ttp://okwave.jp/qa/q7038056.html



質問:
public static int janken(int n){
int[][]tb1={
{9,9,9,9},
{9,0,1,2},
{9,2,0,1},
{9,1,2,0}
};
int m=rand3();
System.out.println(m+" ");
return tb1[n][m];
}

上記ソースコードの2次元配列について、何故「9」という数字があるのか、又1次元目と2次元目の要素数が「4」あるのかわかりませんでした。
上記のURL先で頂いた回答を元に、私は理解に努めました。その理解が正しいか判定してください。

「この勝敗表をあらわす2次元配列について、それぞれのプレイヤーのジャンケンの『手』を要素番号『1,2,3』に対応させている。つまり要素番号『0』は使っていないので、要素数が4つ必要。
また、要素番号『0』は、このjankenプログラムでは不要なので、何の値が入っても構わないので、『たまたま』9が入ってるだけで、9という数字に特に意味はない。因みに、その2つの要素番号に対応する要素が勝敗の結果の番号になる。」
こういうことでしょうか?

A 回答 (2件)

その前の回答にも書いたので繰り返しになりますが。



> 要素番号『0』は使っていないので、要素数が4つ必要

は因果関係が違います。

・要素番号「3」を使いたい→Javaでは、宣言で「4以上」が必要
・要素数4で宣言→使用できる要素番号は0,1,2,3/使いたい値は1,2,3→0は使わない

例えば、「添字の範囲を指定する配列クラス」というのを作れば、「要素数3。1、2、3を使用。それ以外は範囲外」ということも可能なわけです


> 『たまたま』9が入ってるだけ

「たまたま」には入りません、意図的に入れています。
「9という値を選択した」のが「たまたま」です。

> で、9という数字に特に意味はない。

「9という値」そのものに意味はないですが、「0,1,2では無い」ということには意味があります。

この回答への補足

>> 要素番号『0』は使っていないので、要素数が4つ必要
>では因果関係が違います。

つまりこういうことですか?

『それぞれのプレイヤーのジャンケンの『手』を要素番号『1,2,3』に対応させている。要番号1,2,3を使用するためには、Javaでは要素番号は0から始まるため、「要素数」が4つ必要。だから、要素数が4ある。』

こういう因果関係ですか?


>> 『たまたま』9が入ってるだけ

>「たまたま」には入りません、意図的に入れています。
>「9という値を選択した」のが「たまたま」です。

> で、9という数字に特に意味はない。

>「9という値」そのものに意味はないですが、「0,1,2では無い」ということには
>意味があります。


つまり、「0、1、2以外の数字であることに意味はあるけれど、9という数字を選択したことには意味はない」ということですか?

補足日時:2011/10/02 17:10
    • good
    • 0

その理解で合ってると思いますよ。


理解が正しいか確認するために、9を他の任意の値にかえてプログラムが動作するか見てみましょう。
    • good
    • 0
この回答へのお礼

丁寧なご回答まことにありがとうございます1
色々な値入れてためしてみます!

お礼日時:2011/10/02 17:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!