import java.io.File; import java.io.PrintWriter; import java.util.Scanner; /** * Replace this JavaDoc comment for the purpose of this class */ public class Simulacion { /** * Gets data from standard input */ private Scanner input = null; private PrintWriter output = null; /** * Start the execution of the solution * @param args Command line arguments */ public static void main(String args[]) { Simulacion simulacion = new Simulacion(); simulacion.run(args); } /** * Run the solution. This method is called from main() */ public void run(String args[]) { try { // Create object to read data from standard input if ( args.length >= 2 ) { long corridas = Long.parseLong( args[0] ); for ( int indice = 1; indice < args.length; ++indice ) simular( corridas, args[indice] ); } else { System.out.println("Uso: java Simulacion CORRIDAS ARCHIVOS"); } } catch ( java.io.FileNotFoundException excepcion ) { System.err.println( excepcion ); } } public void simular(long corridas, String nombreArchivo) throws java.io.FileNotFoundException { // this.input = new Scanner( new File("Simulacion01.csv") ); this.input = new Scanner( new File(nombreArchivo) ); String nombreArchivoSalida = nombreArchivo.replace(".csv", "-" + corridas + ".csv"); this.output = new PrintWriter( new File(nombreArchivoSalida) ); System.out.printf("Simulando %d corridas de %s en %s...%n", corridas, nombreArchivo, nombreArchivoSalida); double[][] matriz = leerMatriz(); imprimirMatriz(matriz); // Close the standard input this.input.close(); this.output.close(); } public double[][] leerMatriz() { //this.input.useDelimiter("[\\t\\n]+"); int filas = this.input.nextInt(); int columnas = this.input.nextInt(); double[][] matriz = new double[filas][columnas]; for ( int fila = 0; fila < matriz.length; ++fila ) { for ( int columna = 0; columna < matriz[fila].length; ++columna ) { matriz[fila][columna] = this.input.nextDouble(); } } return matriz; } public void imprimirMatriz(double[][] matriz) { for ( int fila = 0; fila < matriz.length; ++fila ) { for ( int columna = 0; columna < matriz[fila].length; ++columna ) { this.output.printf("%.2f\t", matriz[fila][columna]); } this.output.println(); } } }