import java.util.Arrays; /** * Collezione di alcuni metodi per gli array bidimensionali. */ public class P4ArrayBidimensionale { /** * Metodo che prende tre interi (numero di righe, numero di colonne e un valore v) e restituisce * una array bidimensionale di quelle dimensioni riempito col il valore v. */ public static int[][] fill(int nrighe, int ncolonne, int v) { int[][] a = new int[nrighe][ncolonne]; for (int i = 0; i < nrighe; i++) { for (int j = 0; j < ncolonne; j++) { a[i][j] = v; } } return a; } /** * Metodo che prende in input un intero n e restituisce la tavola pitagorica di quella * dimensione. */ public static int[][] tavolaPitagorica(int n) { int[][] a = new int[n][n]; for (int i = 0; i < a.length; i++) { for (int j = 0; j < n; j++) { a[i][j] = i * j; } } return a; } /** * Stampa il contenuto di un array bidimensionale in forma tabellare. Funziona bene solo se * tutti i numeri sono più piccoli di 1000. Per ora prendiamo come input il numero di colonne, * perché non sappiamo come calcolarlo... vedremo la prossima lezione come farne a meno. * * Questo metodo non è stato visto a lezione. */ public static void visualizzaTabella(int[][] a, int ncolonne) { for (int i = 0; i < a.length; i++) { for (int j = 0; j < ncolonne; j++) { System.out.printf("%4d", a[i][j]); } System.out.println(); } } public static void main(String[] args) { int[][] a = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; // come per gli array ad una dimensione, il metodo System.out.println stampa uno // strano codice non molto utile. System.out.println("Output di System.out.println: " + a); // il metodo Arrays.toString questa volta non aiuta molto System.out.println("Output con l'uso di Arrays.toString: " + Arrays.toString(a)); // il metodo da usare è Arrays.deepToString System.out.println("Output con l'uso di Arrays.deepToString: " + Arrays.deepToString(a)); // se vogliamo visualizzare un array bidimensionale in forma di tabella, // dobbiamo scriverci un metodo noi System.out.println("Output in forma tabellare"); visualizzaTabella(a, 4); System.out.println("Tavola pitagorica"); visualizzaTabella(tavolaPitagorica(10), 10); } }