Q:

How do I make the objects of an array each contain an array of integers?

It's an idea that's way over my head, but I thought someone here could illustrate it properly. Basically, I have a for loop running that increments the object array. I want each object to hold the array recorded.
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));

So I guess I'm asking if I should continue, or just not waste my time. Also please spell it out like I'm an idiot, because I am.

A:

I think this should do the trick:-
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];
}

Note:- I've changed the variable names, from uppercase to lowercase for better naming conventions.

