0

それは私の頭の中にある考えですが、ここの誰かがそれを適切に説明できると思いました。基本的に、オブジェクト配列をインクリメントするforループを実行しています。記録された配列を各オブジェクトに保持させたい。

static RollDice p1,p2,p3,p4;
static RollDice[] Players = new RollDice[]{p1,p2,p3,p4};
for (int a=0;a<4;a++){

  for(int b =0;b<4;b++){
        roll = Math.random()*5;
        roll = Math.round(roll);
        roll = roll+1;
        Players[a].Numbers[b]=(int)roll;
        System.out.println("You have rolled a: "+roll);
  }
        //This prints four numbers in an array for each value of a.
        System.out.println(Arrays.toString(Players[a].Numbers));
       //This is SUPPOSED to call the numbers recorded for that object. I had it as Players[#].Numbers before, but of course that didn't work either.
        System.out.println(Arrays.toString(p2.Numbers));

ですから、続けるべきか、それとも時間を無駄にしないかを尋ねているのではないでしょうか。また、私は馬鹿なので、馬鹿のように綴ってください。

4

2 に答える 2

0
class RollDice
{
    public int [] Numbers = new int [4];
}

RollDice p1,p2,p3,p4;
// Do not foget to initialize p1, p2, p3, p4 here
RollDice [] Players = new RollDice [] {p1, p2, p3, p4};
Players [2].Numbers [3] = 4;
于 2013-02-27T04:22:13.353 に答える
0

これでうまくいくと思います:-

RollDice p1 = new RollDice(), p2 = new RollDice(), p3 = new RollDice(), p4 = new RollDice();
RollDice[] players = new RollDice[] { p1, p2, p3, p4 };

for (int a = 0; a < 4; a++) {
    int roll = 0;
    for (int b = 0; b < 4; b++) {
        roll = (int) Math.round(Math.random() * 5);
        roll++;
        players[a].numbers[b] = roll;
        System.out.println("You have rolled a: " + roll);
    }
    System.out.println(Arrays.toString(players[a].numbers));
}

class RollDice{
    public int [] numbers = new int [4];
}

注:-より良い命名規則のために、変数名を からuppercaseに変更しました。lowercase

于 2013-02-27T04:41:06.607 に答える