czwartek, 27 września 2018

Wielowymiarowe tablice w języku Java


Wielowymiarowe tablice w języku Java

Tablice, którech używałeś do tej pory miały tylko jedną kolumnę danych. Ale można skonfigurować tablicę aby miała więcej niż jedną kolumnę. Są to tak zwane tablice wielowymiarowe. Jako przykład, arkusz kalkulacyjny składający się z wierszy i kolumn. Jeśli masz 6 rzędów i 5 kolumn, wówczas arkusz kalkulacyjny może zawierać 30 numerów. Może to wyglądać tak:



Wielo wymiarowa tablica jest jedyna, która może pomieścić wszystkich wartości jak na zdjęciu powyżej. Ustaw je tak:

int[ ][ ] aryNumbers = new int[6][5];

Są one ustawione w taki sam sposób, jak normalne tablice z wyjątkiem, że posiadają dwie pary nawiasów kwadratowych. Pierwszy zestaw nawiasów kwadratowych jest dla wierszy, a drugi zestaw nawiasów kwadratowych jest dla kolumn. W powyższej linii kodu, mówimy Java aby utworzyła tablicę z 6 ​​rzędów i 5 kolumn. Do przechowywania wartości w tablicy wielowymiarowej musisz zadbać, aby śledzić wiersze i kolumny. Oto przykładowy kod, aby wypełnić pierwsze wiersze arkusza kalkulacyjnego numerami z naszego obrazu:

aryNumbers[0][0] = 10;
aryNumbers[0][1] = 12;
aryNumbers[0][2] = 43;
aryNumbers[0][3] = 11;
aryNumbers[0][4] = 22;

Więc pierwszy wiersz jest wierszem 0. Kolumny są od 0 do 4, czyli 5 pozycji. Do wypełnienia drugiego rzędu, użyjemy następujących liczb:

aryNumbers[1][0] = 20;
aryNumbers[1][1] = 45;
aryNumbers[1][2] = 56;
aryNumbers[1][3] = 1;
aryNumbers[1][4] = 33;

Numery kolumn są takie same, ale numer wiersza to teraz 1.

Aby uzyskać dostęp do wszystkich elementów w tablicy wielowymiarowej jest technika użycia jednej pętli wewnątrz innej. Oto przykładowy kod, aby uzyskać dostęp do wszystkich naszych numerów przedstawionych powyżej. Wykorzystajmy podwójną pętlę:

        int rzad = 6;
        int kolumna = 5;
        
        int i,j;
        
        for(i=0; i < rzad; i++){
            for(j=0; j < kolumna; j++){
                System.out.print(aryNumbers[i][j] + " " );
            }
            System.out.println( "" );
        }

Pierwsza pętla jest używana dla wierszy; druga pętla jest dla kolumn. W czasie pierwszej rundy pierwszej pętli, wartość zmiennej I będzie wynosić 0. Kod wewnątrz pętli to kolejna pętla. Cała ta druga pętla zostanie wykonana podczas gdy wartość zmiennej i jest 0. W drugiej pętli używamy zmiennej o nazwie j. Zmienne i j mogą być stosowane do uzyskania dostępu do tablicy.

aryNumbers[ i ][ j ]

Tak, więc system dwóch pętli jest używany, aby przejść przez wszystkie wartości w wielowymiarowej tablicy, wiersz po wierszu. 

Wynikiem działania programu powyżej będzie wydruk wszystkich wartości z arkusza kalkulacyjnego. Okno wyjściowe powinno wyglądać jak poniżej,:




 Oto cały kod programu:

package uazztablice;
 
 
public class WieloWymiarowaTablica {
    
    public static void main(String[] args){
        
        int[][] aryNumbers = new int[6][5];
        
        aryNumbers[0][0] = 10;
        aryNumbers[0][1] = 12;
        aryNumbers[0][2] = 43;
        aryNumbers[0][3] = 11;
        aryNumbers[0][4] = 22;
 
        aryNumbers[1][0] = 20;
        aryNumbers[1][1] = 45;
        aryNumbers[1][2] = 56;
        aryNumbers[1][3] = 1;
        aryNumbers[1][4] = 33;
 
        aryNumbers[2][0] = 30;
        aryNumbers[2][1] = 67;
        aryNumbers[2][2] = 32;
        aryNumbers[2][3] = 14;
        aryNumbers[2][4] = 44;
 
        aryNumbers[3][0] = 40;
        aryNumbers[3][1] = 12;
        aryNumbers[3][2] = 87;
        aryNumbers[3][3] = 14;
        aryNumbers[3][4] = 55;
 
        aryNumbers[4][0] = 50;
        aryNumbers[4][1] = 86;
        aryNumbers[4][2] = 66;
        aryNumbers[4][3] = 13;
        aryNumbers[4][4] = 66;
 
        aryNumbers[5][0] = 60;
        aryNumbers[5][1] = 53;
        aryNumbers[5][2] = 44;
        aryNumbers[5][3] = 12;
        aryNumbers[5][4] = 11;
        
        int rzad=6;
        int kolumna=5;
        
        int i,j;
        
        for(i=0; i<rzad; i++){
            for(j=0; j<kolumna; j++){
                System.out.print(aryNumbers[i][j] + " " );
            }
            System.out.println( " " );
        }
    }
}

Wielowymiarowe tablice mogą być dość trudne, ale przede wszystkim trudne jest śledzenie wszystkich wierszy i kolumn! W kolejnej części dowiesz się o listach tablicowych.



Brak komentarzy:

Prześlij komentarz