Skip to content

Instantly share code, notes, and snippets.

@kutyel
Last active August 29, 2015 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kutyel/541fbe01ce52cfff11a0 to your computer and use it in GitHub Desktop.
Save kutyel/541fbe01ce52cfff11a0 to your computer and use it in GitHub Desktop.
Ejercicio 1: programa de consola en java
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