Last active
August 29, 2015 14:21
-
-
Save kutyel/541fbe01ce52cfff11a0 to your computer and use it in GitHub Desktop.
Ejercicio 1: programa de consola en java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
import java.io.BufferedReader; | |
// Clase Carta, definida para el ejercicio | |
public class Carta { | |
// Atributos | |
String pregunta; | |
String respuesta; | |
// Constructor | |
public Carta(pregunta, respuesta){ | |
this.pregunta = pregunta; | |
this.respuesta = respuesta; | |
} | |
// Métodos | |
public String getPregunta(){ | |
return this.pregunta; | |
} | |
public String getRespuesta(){ | |
return this.respuesta; | |
} | |
} | |
// Clase que contiene el programa ejecutable | |
public class LeeCartas { | |
// Método que será llamado por la consola (main) | |
public static void main(String[] args) { | |
// Comprueba si ha recibido el nombre del fichero por parámetro | |
if (0 < args.length) { | |
// Recoge el nombre del fichero introducido por parámetro desde la consola al llamar al programa | |
String filename = args[0]; | |
// Buffer que va a leer el fichero | |
BufferedReader br = new BufferedReader(new FileReader(filename)); | |
// Array que va a contener las cartas creadas | |
List<Carta> cartas = new ArrayList<Carta>(); | |
// Por cada línea del fichero... | |
while ((readLine = br.readLine()) != null) { | |
// Dividimos con split() y almacenamos en un array que contenga la pregunta [0] y la respuesta [1] | |
String[] aux = readLine.split("#"); | |
// Creamos un nuevo objeto carta, llamando a su constructor | |
Carta c = new Carta(aux[0], aux[1]); | |
// Añadimos el nuevo objeto 'Carta' al ArrayList | |
cartas.add(c); | |
//... o, como me gusta hacerlo a mí, todo lo anterior en una línea :P | |
// cartas.add(new Carta(readLine.split("#")[0], readLine.split("#")[1]))); | |
//...si descomentas esta línea, comenta las 3 de arriba ;) | |
} | |
// Al final del todo, imprimimos por consola las cartas del ArrayList | |
for (Carta ca : cartas) { | |
System.out.println("Carta con pregunta: " + ca.pregunta + ", y respuesta: " + ca.respuesta); | |
} | |
} | |
else { | |
System.err.println("Error: ¡No se ha indicado el nombre de fichero como parámetro!"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment