// Autor: Juan Antonio Ripoll
// Fecha: 09/10/13
/* Objetivo
*
* REALIZA UN PROGRAMA QUE PIDA POR PANTALLA DE UN VEHICULO; LA MARCA, EL
MODELO DEL COCHE, LA MATRICULA, LA POTENCIA Y EL COLOR, LOS GUARDE EN UN
OBJETO VEHICULO Y LOS ESCRIBA EN UN FICHERO. SI CERRAMOS EL PROGRAMA Y
VOLVEMOS A ABRIRLO SE AÑADIRÁN OBJETOS AL FINAL DEL FICHERO.EN EL MISMO
PROGRAMA INCORPORA UNA OPCIÓN QUE PERMITA VISUALIZAR POR PANTALLA
TODOS LOS COCHES DEL FICHERO.
OPCIÓN 1.- INSERTAR VEHICULO.
OPCIÓN 2.- VISUALIZAR VEHICULOS.
OPCIÓN 3.- SALIR.
* */
package ad_practica2_ejercicio1;
import java.io.BufferedReader;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class Main
{
private static final String LISTADO_VEHICULOS = "vehiculos.dat";
/*
* Cuerpo del programa.
* */
public static void main(String[] args) throws NumberFormatException, IOException
{
boolean exit = false;
do
{
DibujarMenu();
switch(getOpcion())
{
case 1:
InsertarVehiculos();
break;
case 2:
VisualizarVehiculos();
break;
case 3:
exit = true;
break;
}
}
while(!exit);
System.out.println("Bye!");
}
/*
* Muestra el menu de opciones de usuario en pantalla.
* */
private static void DibujarMenu()
{
System.out.println("1.- INSERTAR VEHICULO");
System.out.println("2.- VISUALIZAR VEHICULOS");
System.out.println("3.- SALIR.");
System.out.println();
}
/*
* Obtiene la opción seleccionada por el usuario.
* */
public static int getOpcion() throws NumberFormatException, IOException
{
System.out.print("Introduzca una opción: ");
try
{
BufferedReader in = new BufferedReader( new InputStreamReader( System.in ));
return Integer.parseInt(in.readLine());
}
catch(Exception e)
{
System.out.println("\nOpción no reconocida por el sistema. Opciones validas [1-3].\n");
return 0;
}
}
/*
* Actualiza un nuevo vehículo al listado. Si el listado no existe,
* lo crea y introduce el vehículo
* */
private static void InsertarVehiculos()
{
if (ExisteListado())
ActualizaListado();
else
CrearListado();
System.out.println("\nVehículo insertado correctamente en el listado.\n");
}
/*
* Muestra un listado de todos los vehículos disponibles en pantalla.
* */
private static void VisualizarVehiculos()
{
if (ExisteListado())
{
ArrayList vehiculos = LeerListado();
System.out.println("\nLISTADO DE VEHÍCULOS\n");
for (int i=0;i LeerListado()
{
ArrayList vehiculos = new ArrayList();
try
{
ObjectInputStream o = new ObjectInputStream(
new FileInputStream(LISTADO_VEHICULOS));
Vehiculo vehiculo = (Vehiculo)o.readObject();
while (vehiculo!=null)
{
vehiculos.add(vehiculo);
vehiculo = (Vehiculo)o.readObject();
}
o.close();
return vehiculos;
}
catch (EOFException ex1)
{
return vehiculos;
}
catch (Exception ex2)
{
System.out.println ("Error intentanto leer listado de vehículos.");
return null;
}
}
/*
* Obtiene el vehículo que introduce el usuario.
* */
private static Vehiculo getVehiculo()
{
try
{
BufferedReader reader = new BufferedReader(
new InputStreamReader(System.in));
Vehiculo vehiculo = new Vehiculo();
System.out.print("Marca: ");
vehiculo.setMarca(reader.readLine());
System.out.print("Modelo: ");
vehiculo.setModelo(reader.readLine());
System.out.print("Matrícula: ");
vehiculo.setMatricula(reader.readLine());
System.out.print("Potencia: ");
vehiculo.setPotencia(reader.readLine());
System.out.print("Color: ");
vehiculo.setColor(reader.readLine());
return vehiculo;
}
catch (Exception e){
System.out.println("Error en la recogida de datos del vehículo.");
System.out.println();
return null;
}
}
/*
* Muestra todos los datos de un vehículo en pantalla
* */
public static void Mostrar(Vehiculo v)
{
System.out.println("Marca: " + v.getMarca());
System.out.println("Modelo: " + v.getModelo());
System.out.println("Matrícula: " + v.getMatricula());
System.out.println("Potencía: " + v.getPotencia());
System.out.println("Color: " + v.getColor());
System.out.println();
}
}
package ad_practica2_ejercicio1;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
public class MiObjectOutputStream extends ObjectOutputStream
{
/** Constructor que recibe OutputStream */
public MiObjectOutputStream(OutputStream out) throws IOException
{
super(out);
}
/** Constructor sin parámetros */
protected MiObjectOutputStream() throws IOException, SecurityException
{
super();
}
/** Redefinición del método de escribir la cabecera para que no haga nada. */
protected void writeStreamHeader() throws IOException
{
}
}
package ad_practica2_ejercicio1;
import java.io.Serializable;
public class Vehiculo implements Serializable
{
private static final long serialVersionUID = 1L;
private String marca;
private String modelo;
private String matricula;
private String potencia;
private String color;
public Vehiculo (String marca, String modelo, String matricula, String potencia, String color)
{
this.marca = marca;
this.modelo = modelo;
this.matricula = matricula;
this.potencia = potencia;
this.color = color;
}
public Vehiculo ()
{
this.marca = null;
this.modelo = null;
this.matricula = null;
this.potencia = null;
this.color = null;
}
public String getMatricula() {
return matricula;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public String getPotencia() {
return potencia;
}
public void setPotencia(String potencia) {
this.potencia = potencia;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
}
Friday, December 13, 2013
Objetos
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment