jueves, 24 de noviembre de 2011

Ejercicio de la clase Moto

Hola saludos!!
Haremos un ejemplo:
Bien primero hacemos el pseudocodigo:

Inicia
Numero de Placa:
Motocicleta apagada
Velocidad 0 km/h
Batería al 100%

Si encendemos {
Batería disminuye 1%
}
Si Batería es menor a 1{
No se puede encender! Batería descargada!
}
Apagar detiene Moto y no Disminuye Batería;
Acelerar Disminuye 1% Batería y Aumenta 20 a velocidad;
Frenar Disminuye 1% Batería y Disminuye 20 a velocidad;
Si Velocidad =200 {
Ya no puede acelerar mas!! es la máxima velocidad!!
}
Si Velocidad es =0 {
Ya no puede frenar porque esta detenido!!

Si al Acelerar o Frenar y Batería es menor a 1%{
Motocicleta se Apaga y se detiene
}

Si Batería es Menor a 1%{
Salir de Moto
}
}

Como notaron agregue algunas opciones extras al código como una velocidad limitada a 200 Km/h y que si la batería se acaba la moto se apaga y se detiene.

Bien Ahora el código:


import java.util.*;

public class Motocicleta {

public String Placa;
public boolean EstadoMotor;
public int Velocidad;
public int VidaBateria;

public Motocicleta(String Placa, boolean EstadoMotor, int Velocidad, int VidaBateria)
  {
      this.Placa = Placa;
      this.EstadoMotor = EstadoMotor;
      this.Velocidad = Velocidad;
      this.VidaBateria = VidaBateria;
  }
/**
* @param args
*/
public static void main (String[] args)
  {
Motocicleta casos = new Motocicleta("ELV9550", false, 0, 100);
   
    int opcion = 0;
    Scanner read = new Scanner(System.in);
   
    do {
   
    System.out.println("1.-Datos de Motocicleta");
    System.out.println("2.-Encender");
    System.out.println("3.-Apagar");
    System.out.println("4.-Acelerar");
    System.out.println("5.-Freno");
    System.out.println("6.- Salir\n");                              
    System.out.print("Elija una opcion: ");
    opcion = read.nextInt();
   
    System.out.println("\n");
   
    switch(opcion)
    {
        case 1:
            casos.InfoMoto();
            break;
        case 2:
            casos.encender();
            break;
        case 3:
        casos.apagar();
            break;
        case 4:
        casos.acelerar();
            break;
        case 5:
        casos.frenar();
            break;
 
    }
    }
while(opcion != 6);
}
 
public String MostrarPlaca ()
{
    return Placa;
}

public void encender()
{
    if(EstadoMotor != true && VidaBateria>0){
    EstadoMotor = true;
    if(VidaBateria>1)
    {
        VidaBateria--;
    }
    else{ System.out.println("¡¡La Bateria se descargo por completo!!\n");
    EstadoMotor = false;
    Velocidad = 0;
    }

}
else{
System.out.println("¡¡La Motocicleta ya esta encendida!!\n");
}
   
   
}

public void apagar()
{
if(EstadoMotor != false){
   EstadoMotor = false;
   Velocidad = 0;
}
else{
System.out.println("¡¡La Motocicleta ya esta Apagada!!\n");
}
}

public void acelerar()
{
    if(EstadoMotor = true && Velocidad < 200 && VidaBateria>=0)
    {
        Velocidad = Velocidad + 20;
   
    if(VidaBateria>1)
    {
        VidaBateria--;
    }
else{ System.out.println("¡¡La Bateria se descargo por completo!!\n");
EstadoMotor = false;
Velocidad = 0;
    }
}
else{
System.out.println("No puede acelerar mas!! Velocidad Maxima de Motocicleta:200Km/h\n");
}
}

public void frenar ()
{
    if(EstadoMotor = true && Velocidad != 0 && VidaBateria>=0)
    {
        Velocidad = Velocidad - 20;
    if(VidaBateria>1)
    {
        VidaBateria--;
    }
else{ System.out.println("¡¡La Bateria se descargo por completo!!\n");
EstadoMotor = false;
Velocidad = 0;
    }
    }
    else{
    System.out.println("Ya está detenido!! Velocidad:0 Km/h\n");
    }
}

public void InfoMoto()
{
    System.out.println("La placa es: "+Placa);
    if(EstadoMotor == false){
    System.out.println("Motor Apagado");
    }
    else {
    System.out.println("Motor Encendido");
   }
    System.out.println("Velocidad: "+Velocidad+" Km/h");
    System.out.println("Porcentaje de vida de la bateria: "+VidaBateria+"%"+"\n");

}
}

Bien ahora a probarlo:

Primero Compilamos y ejecutamos el código:

Ahora veamos el estado de la Moto:

Ahora encendemos y mostramos el estado de la moto:

Bien observamos como disminuye la vida de la Batería.

Ahora agregue una opción que nos manda un mensaje si la moto ya esta encendida y la queremos volver a encender:

Ahora probamos el de apagar la moto:

Y también agregué un mensaje si la moto ya esta apagada y tratamos de apagarla de nuevo:

Ahora Aceleramos la moto varias veces:

También como ya mencione la velocidad máxima es de 200Km/h, así que cuando intentamos acelerar mas no nos permite, y por lo tanto no se gasta batería al intentarlo:


Ahora probamos la opción frenar, la cual disminuye la batería y velocidad:


También si ya hemos frenado por completo y queremos volver a frenar nos manda un mensaje:

Y por ultimo probar que pasa cuando la batería se acaba:



Y claro que cada vez que muestra el estado de la moto, muestra el numero de Placa, el Estado del motor, la Velocidad y el estado de la Batería.

No hay comentarios:

Publicar un comentario