Menu
Coddy logo textTech

Tableaux 3D et au-delà

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 7 sur 59.

Tout comme vous pouvez créer des tableaux 2D (tableaux de tableaux), vous pouvez créer des tableaux 3D (tableaux de tableaux de tableaux), des tableaux 4D, et ainsi de suite. Ceux-ci sont appelés tableaux multidimensionnels.

Un tableau 3D peut être visualisé comme une collection de tableaux 2D empilés les uns sur les autres, formant une structure cubique. Chaque élément d’un tableau 3D est accédé à l’aide de trois indices : un pour la profondeur (quel tableau 2D), un pour la ligne et un pour la colonne.

Voici comment déclarer et initialiser un tableau 3D en Java :

data_type[][][] array_name = new data_type[depth][rows][columns];
  • data_type : Le type d'éléments que le tableau contiendra.
  • array_name : Le nom du tableau.
  • depth: Le nombre de tableaux 2D (depth).
  • rows: Le nombre de lignes dans chaque tableau 2D.
  • columns: Le nombre de colonnes dans chaque tableau 2D.

Par exemple, pour créer un tableau 3D d'entiers avec les dimensions 2x3x4, vous écririez :

int[][][] cube = new int[2][3][4];

Vous pouvez également initialiser un tableau 3D directement :

int[][][] cube = {
    {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    },
    {
        {13, 14, 15, 16},
        {17, 18, 19, 20},
        {21, 22, 23, 24}
    }
};
challenge icon

Défi

Facile

Écrivez un programme qui prend trois arguments entiers : depth, rows et cols. Il doit créer un tableau 3D d'entiers aux dimensions spécifiées et initialiser chaque élément du tableau avec le produit de ses indices de profondeur, de ligne et de colonne (commençant à partir de 1).

Par exemple, l'élément à [d][r][c] doit avoir la valeur (d + 1) * (r + 1) * (c + 1).

Enfin, imprimez le tableau 3D résultant dans la console en utilisant des boucles imbriquées. La sortie doit ressembler à ceci :

Depth 0:
1 2 3 4 
2 4 6 8 
3 6 9 12 
Depth 1:
2 4 6 8 
4 8 12 16 
6 12 18 24

Aide-mémoire

Les tableaux 3D sont des tableaux de tableaux de tableaux, visualisés comme des structures cubiques avec profondeur, lignes et colonnes.

Déclaration et initialisation :

data_type[][][] array_name = new data_type[depth][rows][columns];

Exemple :

int[][][] cube = new int[2][3][4];

Initialisation directe :

int[][][] cube = {
    {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    },
    {
        {13, 14, 15, 16},
        {17, 18, 19, 20},
        {21, 22, 23, 24}
    }
};

Les éléments sont accédés en utilisant trois indices : array[depth][row][column]

Essayez vous-même

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int depth = scanner.nextInt();
        int rows = scanner.nextInt();
        int cols = scanner.nextInt();

        int[][][] array3D = new int[depth][rows][cols];
        // Écrivez votre code ci-dessous

        // Afficher le tableau 3D
        for (int d = 0; d < depth; d++) {
            System.out.println("Depth " + d + ":");
            for (int r = 0; r < rows; r++) {
                for (int c = 0; c < cols; c++) {
                    System.out.print(array3D[d][r][c] + " ");
                }
                System.out.println();
            }
        }
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux