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("");
        }

    }//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 < righe; i++) {
                for (int j = 0; j < 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()
}//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