Array multidimensionale

In questo esempio viene creato un array multidimensionale, riempito di numeri casuali utilizzando il metodo Math.random() e plottato a video in due modalità di visualizzazione, sia con i valori inseriti da utente per numero di righe e colonne, sia attraverso un ciclo continuo.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class MultiDimArray {
public static void main(String[] args) throws IOException {
try {
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);
System.out.println("Digita numero Righe e colonne"
+ "(solo interi, esempio: '100 100'): ");
String line = reader.readLine();
//Assegno i valori inseriti in un array di String utilizzando il metodo .split()
String[] parameter = line.split(" ");
int righe = Integer.parseInt(parameter[0]);//Assegno a 'righe' il valore nel parameter[0]
int colonne = Integer.parseInt(parameter[1]);//Assegno a 'colonne' il valore nel parameter[1]
System.out.println("Versione a loop continuo(Y or N)? ");
line = reader.readLine();
//Verifico la scelta tenendo conto anche del minuscolo
if (line.equals("Y") || line.equals("y")) {
MulDimArrUP(righe, colonne);
} else {
MulDimArr(righe, colonne);
}
} catch (NumberFormatException e) {//Gestione eccezione per formato di numero errato
System.out.println("Inserito formato errato… "
+ "messaggio di errore: " + e.getMessage());
} catch (RuntimeException ex) {//Gestione eccezione per runtime error
System.out.println("C'è stato un problema… ");
}
}// end main
public static void MulDimArr(int righe, int colonne) {
int matrix[][] = new int[righe][colonne];
for (int i = 0; i < righe; i++) {
for (int j = 0; j < colonne; j++) {
//generazione numeri causali da 0 a 19
matrix[i][j] = (int) (Math.random() * 20);
System.out.print(matrix[i][j] + " ");
}
System.out.println("");
}
<pre><code>}//end MulDimArr()
public static void MulDimArrUP(int righe, int colonne) {
    while (true) {//ciclo loop continuo
        int matrix[][] = new int[righe][colonne];
        for (int i = 0; i &amp;lt; righe; i++) {
            for (int j = 0; j &amp;lt; colonne; j++) {
                //generazione numeri casuali da 0 a 9
                matrix[i][j] = (int) (Math.random() * 10);
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println("");
        }
    }
}//end MulDimArrUP()</code></pre>
}//end class MultiDimArray

Output video:

Digita numero Righe e colonne(solo interi, esempio: ‘100 100’):
5 5
Versione a loop continuo(Y or N)?
n
18 18 10 15 2
8 17 2 11 17
8 6 1 12 17
15 14 5 6 12
6 7 7 17 10

Tags:
Leave a Comment