Inicio > Java > Certamen II (Introduccion a la Programacion)

Certamen II (Introduccion a la Programacion)

ENUNCIADO:

Construir un programa Java que permita manipular los datos de una Automotora en base a la siguiente especificación:

Existen algunos supuestos y restricciones de negocio ya establecidos, los cuales se especifican a continuación:
El nombre inicial de la Automotora es “Automotora MeisterGilde”, dirección “Av. Paicaví #10040, Concepción”, Fono: “20002203”.
La llegada de un nuevo vehículo se conoce como importación, y está sujeta al registro por parte del usuario.
Se pide entonces construir el programa respectivo, que incluya las siguientes opciones de menú:

  • 1) Registrar Nuevo Vehículo (Importación)
  • 2) Vender Vehículo (previa selección del Nº correlativo del Vehículo)
  • 3) Obtener estado de la Automotora (Mostrar Datos del Local y Vehículos)
  • 4) Salir

Se permite establecer supuestos sobre elementos que no hayan sido parte de la especificación inicial, como atributos y constructores.

SOLUCION:

Clase SegundoCertamen

package sistema;

public class SegundoCertamen {

    public static void main(String[] args)
    {
		new Aplicacion().ejecutar();
    }
}

Clase Aplicacion

package sistema;
import negocio.*;
import java.util.Scanner;

public class Aplicacion
{

    private Automotora a;
	private Scanner s;


    public Aplicacion ()
    {
    	setA(new Automotora());
    	getA().setNombre ("Automotora MeisterGilde");
    	getA().setDireccion ("Av. Paicaví #10040, Concepción");
    	getA().setTelefono ("20002203");
    	setScanner(new Scanner(System.in));
    }

    public Automotora getA () {
        return a;
    }
    public void setA (Automotora val) {
        this.a = val;
    }
	public void ejecutar()
	{
		int opcion = 0;
		do
		{
			opcion = menu();
			if (opcion == 1)
				registrarVehiculo();
			else if (opcion == 2)
				venderVehiculo();
			else if (opcion == 3)
				obtenerEstado();
		} while (opcion != 4);
		System.exit(0);

	}
	public int menu()
	{
		System.out.println("!---- MENU ----");
		System.out.println("!- Ingresa El Numero de la Opcion que quieras ejecutar.");
		System.out.println("!-- 1) Registrar Nuevo Vehículo.");
		System.out.println("!-- 2) Vender Vehículo.");
		System.out.println("!-- 3) Obtener estado de la Automotora.");
		System.out.println("!-- 4) Salir.");
		System.out.println("!--------------");
		return Integer.parseInt(getScanner().nextLine());
	}
	public void setScanner(Scanner s)
	{
		this.s = s;
	}
	public Scanner getScanner()
	{
		return this.s;
	}
	public void registrarVehiculo()
	{
		Automovil a = new Automovil();
		System.out.println("Ingresa la Marca.");
		a.setMarca (getScanner().nextLine());
		System.out.println("Ingresa El Modelo.");
		a.setModelo (getScanner().nextLine());
		System.out.println("Ingresa El Año.");
		a.setYear (Integer.parseInt(getScanner().nextLine()));
		a.setEntregado (false);
		getA().importarVehiculo(a);
	}
	public void venderVehiculo()
	{
		if (getA().getAutosEnAutonmotora () > 0)
		{
			System.out.println("\n########################################################\n");
			mostrarParaVender();
			System.out.println("Ingresa la ID del Producto que Quieres Vender:");
			int vender = (Integer.parseInt(getScanner().nextLine()) -1);
			getA().getAutomoviles ()[vender].setEntregado (true);
			System.out.println("Deseas eliminar de la Lista de Automoviles (Ingresa Opcion)");
			System.out.println("-- 1) Si.");
			System.out.println("-- 2) No.");
			int pregunta = Integer.parseInt(getScanner().nextLine());
			if (pregunta == 1)
			{
				for (int i = vender; i <getA().getAutosEnAutonmotora (); i++)
				{
					getA().getAutomoviles ()[i] = getA().getAutomoviles ()[(i+1)];
				}
				getA().setAutosEnAutonmotora (getA().getAutosEnAutonmotora () -1);
			}
			getA().venderAutomovil(getA().getCantidadVendidos ()+1);
			System.out.println("Venta completa.");
			System.out.println("\n########################################################\n");
		} else
		{
			System.out.println("\n########################################################\n");
			System.out.println("ERROR: No hay Automoviles disponibles en la Automotora.");
			System.out.println("\n########################################################\n");

		}
	}
	public void obtenerEstado()
	{
		System.out.println("\n########################################################\n");
		System.out.println("--- [Automotora: "+getA().getNombre ()+"] [Direccion: "+getA().getDireccion ()+"] [Telefono: "+getA().getTelefono ()+"]\n");
		System.out.println("--- Automoviles: ( "+getA().getAutosEnAutonmotora ()+" de "+getA().getAutomoviles ().length+" ) ( Vendidos: "+getA().getCantidadVendidos ()+" ) ");
		mostrarAutomoviles();
		System.out.println("\n########################################################\n");

	}
	public void mostrarParaVender()
	{
		int i=0,id=0;
		while (i < getA().getAutosEnAutonmotora ())
		{
			if (!getA().getAutomoviles ()[i].getEntregado ())
			{
				System.out.println("---- [ ID del Producto: "+(i+1)+" ] [Estado: Disponible.] [Marca: "+getA().getAutomoviles ()[i].getMarca ()+"] [Modelo: "+getA().getAutomoviles ()[i].getModelo ()+"] [Año: "+getA().getAutomoviles ()[i].getYear ()+"]" );
				id++;
			}
			i++;
		}
		if (id == 0)
		{
			System.out.println("ERROR: No hay Automoviles Disponibles.");
			System.out.println("\n########################################################\n");
			ejecutar();
			return;
		}
	}
	public void mostrarAutomoviles()
	{

		for (int i=0; i < getA().getAutosEnAutonmotora (); i++)
		{
			String estado;
			if (getA().getAutomoviles ()[i].getEntregado ())
			{
				estado = "Vendido.";
			} else
			{
				estado = "Disponible.";
			}
			System.out.println("---- [ ID del Producto: "+(i+1)+" ] [Estado: "+estado+"] [Marca: "+getA().getAutomoviles ()[i].getMarca ()+"] [Modelo: "+getA().getAutomoviles ()[i].getModelo ()+"] [Año: "+getA().getAutomoviles ()[i].getYear ()+"]" );
		}
	}
}

Clase Automotora

package negocio;

public class Automotora
{

    private String nombre;
    private String direccion;
    private String telefono;
    private Automovil[] automoviles;
    private int cantidadVendidos;
	private int autosEnAutonmotora = 0;

    public Automotora ()
    {
    	setAutomoviles (new Automovil[100]);
    }

    public Automovil[] getAutomoviles () {
        return automoviles;
    }
    public void setAutomoviles (Automovil[] val) {
        this.automoviles = val;
    }

    public int getCantidadVendidos () {
        return cantidadVendidos;
    }

    public void setCantidadVendidos (int val) {
        this.cantidadVendidos = val;
    }

    public String getDireccion () {
        return direccion;
    }

    public void setDireccion (String val) {
        this.direccion = val;
    }

    public String getNombre () {
        return nombre;
    }

    public void setNombre (String val) {
        this.nombre = val;
    }

    public String getTelefono () {
        return telefono;
    }

    public void setTelefono (String val) {
        this.telefono = val;
    }
	public void importarVehiculo(Automovil a)
	{
		this.automoviles[getAutosEnAutonmotora ()] = a;
		setAutosEnAutonmotora (getAutosEnAutonmotora () +1);
	}
	public void venderAutomovil(int num)
	{
		this.cantidadVendidos = num;
	}
	public int getAutosEnAutonmotora () {
		/* Contador */
        return autosEnAutonmotora;
    }

    public void setAutosEnAutonmotora (int val) {
        this.autosEnAutonmotora = val;
    }

}

Clase Automovil

package negocio;

public class Automovil
{


    private String marca;
    private String modelo;
    private int year;
    private boolean entregado;

    public Automovil () {
    }

    public boolean getEntregado () {
        return entregado;
    }
    public void setEntregado (boolean val) {
        this.entregado = val;
    }

    public String getMarca () {
        return marca;
    }

    public void setMarca (String val) {
        this.marca = val;
    }

    public String getModelo () {
        return modelo;
    }
    public void setModelo (String val) {
        this.modelo = val;
    }

    public int getYear () {
        return year;
    }
    public void setYear (int val) {
        this.year = val;
    }

}

Saludos , Adios.

Categorías:Java Etiquetas: ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: