Вы находитесь на странице: 1из 2

import java.util.

Scanner;

public class Aerolinea{


public static void main(String[] args){

boolean[] cupo = new boolean[10];


//Contador que determina los 10 cupos que se pueden asignar en el Avión
int contador = 1;
//opción que fue seleccionada por el usuario en el menú
int opcion = 0;
/*Variable que controla la opción que se selecciono cuando no hay cupo en segunda
clase*/
int primeraClase = 0;
//Clase que permite interactuar con la consola y la clase en ejecución
Scanner scaner = new Scanner(System.in);
//variable que indica el estado del asiento true esta ocupado, y false esta libre
boolean ocupado = false;
//Ciclo que se ejecutara 10 veces para asignar los 10 puestos del avión
while(contador <= 10){
//Impresión en la consola de los valores con los que trabaja la clase
System.out.println("=================================");
System.out.println(" MENU PRINCIPAL ");
System.out.println("=================================");
System.out.println("Escriba [1] para Primera Clase");
System.out.println("Escriba [2] para Seccion Economica");
System.out.println("Escriba [3] Salir");
System.out.println("=================================");
System.out.println();
//Aquí se esta leyendo la opción que fue seleccionada
opcion = scaner.nextInt();
/*Se le cambia el valor a la variable para que pueda volver a preguntar en el
ciclo y no quede con el ultimo valor que le fue asignado*/
ocupado = false;
//switch que define que se hace cuando se escriba 1 o 2, y default cualquier otra
switch(opcion){
//Asigna los cupos para Primera Clase
case 1:
//Se puede asignar solo 5 puestos de 0 a 4
for(int i=0;i<5;i++){
//Asigna el valor del arreglo en la posición
ocupado = cupo[i];
/*Aquí se pregunta si el valor del arreglo en la posición de i es
falso quiere decir que no esta ocupado, por lo tanto se puede
asignar de nuevo*/
if(ocupado == false){
//se aumenta el numero de puestos del avión asignados
contador++;
/*Muestra el asiento que le asigno en primera clase, como el
ejercicio trabaja solo de 1 hasta 10 se le suma 1 al valor de la
posición*/
System.out.println("**Primera Clase** Asiento : "+(i+1));
/*Asigna el valor de true al arreglo en esa posición, para indicar
que esta ocupado en asiento*/
cupo[i] = true;
/*Sale del ciclo for, por que ya asigno el asiento no necesita
buscar asientos vacíos*/
break;
}
}
/*Aquí indica que si la variable ocupado esta en true quiere decir que ya
no hay mas cupos disponibles*/
if(ocupado == true){
//Imprime el mensaje que no existen cupos disponibles
System.out.println("No hay cupo en primera clase.");
/*Se coloca contador en 11 para que la validación del while de false y
se salga*/
contador = 11;
}
break;
case 2:
//Aqui se asignan el resto de cupos
for(int i=5;i<10;i++){
//Asigna el valor del arreglo en la posición
ocupado = cupo[i];
/*Aquí se pregunta si el valor del arreglo en la posición de i es
falso quiere decir que no esta ocupado, por lo tanto se puede
asignar de nuevo */
if(ocupado == false){
//se aumenta el numero de puestos del avión asignados
contador++;
/*Muestra el asiento que le asigno en la Sección Económica, como el
ejercicio trabaja solo de 1 hasta 10 se le suma 1 al valor de la
posición*/
System.out.println("Seccion Economica Asiento : "+(i+1));
/*Aquí indica que si la variable ocupado esta en true quiere decir
que ya no hay mas cupos disponibles*/
cupo[i] = true;
/*Sale del ciclo for, por que ya asigno el asiento no necesita
buscar asientos vacíos*/
break;
}
}
/*Aquí indica que si la variable ocupado esta en true quiere decir que ya
no hay mas cupos disponibles*/
if(ocupado == true){
//Se le informa al usuario que no existen cupos disponibles
System.out.println("No existe cupo, desea un asiento en primera clase,
marque 1.");
//Recoge la opcion que digito el usuario
primeraClase = scaner.nextInt();
/*Si el usuario digito el numero 1, entonces se le asigna un asiento
en primera clase*/
if(primeraClase == 1){
//Aqui el comportamiento el mismo que en el for de primera clase
for(int i=0;i<5;i++){
ocupado = cupo[i];
if(ocupado == false){
contador++;
System.out.println("**Primera Clase** Asiento : "+(i+1));
cupo[i] = true;
break;
}
}
}else{
/*El usuario digito un numero diferente al 1, la validación del
while da false y se sale*/
contador=11;
}
}
break;
default:
//El usuario selecciono cualquier otro numero diferente de 1 y 2
System.out.println("<<Fin>>");
//Se coloca contador en 11 para que la validación del while de false
contador=11;
}
}
}
}

Вам также может понравиться