Clutchy
Clutchy

Reputation: 252

Can you get an 2 dimensional array from 3 dimensional array without loops in Java?

Can you get a subarray from 3 dimensional array in Java? I'm kind of new to Java and need some help.

threeDimensions[][][] = {
    {
        {false, true, false, false},
        {false, true, false, false},
        {false, true, false, false},
        {false, true, false, false},
    },
    {
        {false, false, false, false},
        {false, true, true, false},
        {false, true, false, false},
        {false, true, false, false},
    }
};

twoDimensions = threeDimensions[0];

This way doesn't work but is there a way to do it without looping?

Upvotes: 0

Views: 52

Answers (2)

AlexanderW
AlexanderW

Reputation: 123

It works as exactly as you think it works. You just forgot to declare twoDimensions as a two-dimension array. Do this:

Boolean twoDimensions[][] = threeDimensions[0];

Upvotes: 2

Paul Boddington
Paul Boddington

Reputation: 37645

Your way does work, but you've just got the syntax a bit wrong. It should be

boolean[][][] threeDimensions = {
    {
        {false, true, false, false},
        {false, true, false, false},
        {false, true, false, false},
        {false, true, false, false},
    },
    {
        {false, false, false, false},
        {false, true, true, false},
        {false, true, false, false},
        {false, true, false, false},
    }
};

boolean[][] twoDimensions = threeDimensions[0];

If your problem is printing it out, you need to write

System.out.println(Arrays.deepToString(twoDimensions));

Upvotes: 2

Related Questions