Java 3

3.1. Seturi multidimensionale

De fapt, nu există adevărate matrice multidimensionale în Java. Dar există rețele de tablouri care se comportă ca niște matrice multidimensionale, cu excepția câtorva diferențe minore. Codul de mai jos creează o matrice tradițională de zece elemente de tip dublu, fiecare dintre acestea fiind inițializată la zero. Implementarea internă a acestei matrice este o serie de matrice duble.







matrice dublă [] [] = nou dublu [5] [2];

Următorul fragment de cod inițializează aceeași cantitate de memorie, dar memoria pentru a doua dimensiune este alocată manual. Acest lucru este făcut pentru a arăta în mod clar că matricea este de fapt o matrice imbricată.

matrice dublă [] [] = nou dublu [5] [];
matrice [0] = nou dublu [2];
matrice [l] = nou dublu [2];
matricea [2] = noul dublu [2];
matrice [3] = <0,1>;
matrice [4] = <2,3>;

Exemplul următor creează o matrice de 4 cu 4 cu elemente dublu, iar elementele diagonale (cele pentru care x = y) sunt umplute cu cele și toate celelalte elemente rămân egale cu zero.







clasa Matrix <
public static void principal (String args []) <
dublu m [] []; m = dublu nou [4] [4];
m [0] [0] = 1;
m [l] [1] = 1;
m [2] [2] = l;
m [3] [3] = l;
System.out.println (m [0] [0] + "" + m [0] [l] + "" + m [0] [2] + "" + m [0] [3]);
System.out.println (m [1] [0] + "" + m [l] [l] + "" + m [l] [2] + "" + m [l] [3]);
System.out.println (m [2] [0] + "" + m [2] [l] + "" + m [2] [2] + "" + m [2] [3];
System.out.println (m [3] [0] + "" + m [3] [l] + "" + m [3] [2] + "" + m [3] [3]);
>
>

Rulați acest program, veți obține următorul rezultat:

1000
0100
0,010
0001

Notă - dacă doriți ca valoarea elementului să fie zero, nu trebuie să îl inițializați, se face automat. Pentru a seta valorile inițiale ale matriceelor, există o formă specială a inițializatorului, care este de asemenea potrivită în cazul multidimensional. În programul de mai jos, este creată o matrice, fiecare element al căruia conține produsul numărului de linie și numărul coloanei. Fiți atenți la faptul că în interiorul inițializatorului matricei puteți folosi nu numai literali, ci și expresii.

Rulați acest program, veți obține următorul rezultat:







Articole similare

Trimiteți-le prietenilor: