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