package lezione14; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; import java.util.Scanner; /* * Generatore di matrici casuali */ public class Esercizio1lezione7 { public static void main(String[] args) { System.out.print("Digita il percorso assoluto del file che contiene i dati delle matrici da generare casualmente: "); String inPath; try (Scanner in = new Scanner(System.in)) { // notate il try-resource anche per Scanner inPath = in.next(); } File outFile = new File("src/lezione14/e1l7risultati.txt"); String[] dati; String[] rows; String[] columns; int nRows; int nColumns; int[][] matrix; Random rand = new Random(); // MAGIA NERISSIMA: creiamo un generatore di numeri casuali O_O try (BufferedReader br = new BufferedReader(new FileReader(inPath)); PrintWriter pw = new PrintWriter(new FileWriter(outFile))) { // apro due risorse String line = br.readLine(); // leggo una linea alla volta while (line != null) { // finche' c'e' qualcosa da leggere dati = line.split(","); rows = dati[0].split(" = "); columns = dati[1].split(" = "); nRows = Integer.parseInt(rows[1].trim()); nColumns = Integer.parseInt(columns[1].trim()); matrix = new int[nRows][nColumns]; pw.println("N = " + nRows + ", M = " + nColumns); for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[0].length; j++) { matrix[i][j] = rand.nextInt(100); // MAGIA NERISSIMA: otteniamo un intero casuale tra 0 e 99 (inclusi) pw.printf("%02d ", matrix[i][j]); } pw.println(); } pw.println(); line = br.readLine(); } System.out.print("Le matrici casuali sono state salvate nel file: " + outFile.getAbsolutePath()); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }