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
Leave a Comment
Devi essere connesso per inviare un commento.