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 (des tableaux de tableaux), vous pouvez créer des tableaux 3D (des 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 un ensemble de tableaux 2D empilés les uns sur les autres, formant une structure semblable à un cube. Chaque élément d’un tableau 3D est accessible à 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 (profondeur).
  • 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 directement un tableau 3D :

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 avec les dimensions spécifiées et initialiser chaque élément du tableau avec le produit de ses indices de profondeur, de ligne et de colonne (en commençant à 1).

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

Enfin, affichez le tableau 3D obtenu dans la console à l’aide de 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

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

        // Affichez 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

Entraînez-vous par vous-même : Compilateur Java en ligne