Problema para detectar un array completo
Mi consulta radica en que estoy haciendo una aplicación con un array de 10 asientos de avión para reservar asientos y cuando el arreglo esta lleno no me deja imprimir "Próximo vuelo dentro de tres horas"
Mi código es el siguiente:
boolean pasajes[] = new boolean[11];
boolean lleno = true;
public void menu()
{
Scanner entrada = new Scanner(System.in);
System.out.print("Por favor escriba 1 para Primera Clase y Por favor escriba 2 para Económico o -1 para salir: ");
int respuesta = entrada.nextInt();
while(respuesta != -1)
{
if (respuesta == 1)
{
for(int i = 1; i < pasajes.length; i = i + 1)
{
if(pasajes == false && i <= 5 )
{
pasajes = true;
System.out.print("Su numéro de asiento es " + i + "\n");
break ;
}
if(pasajes == false && i > 5)
{
System.out.println("No quedan asientos en Primera clase");
System.out.print("Desea una reserva en economica S/N");
String decision = entrada.next();
if(decision.equals("S") )
{
for(int h = 6; h < pasajes.length; h = h + 1)
if(pasajes[h] == false)
{
pasajes[h] = true;
System.out.print("Su numéro de asiento es " + i + "\n");
break ;
}
break;
}
}
}
Espacio(pasajes); // aquí llamo el método para comprobar si el avión está lleno
if (lleno == true)
System.out.print("Proximo vuelo dentro de tres horas");
System.out.print("Por favor escriba 1 para Primera Clase y Por favor escriba 2 para Económico o -1 para salir: ");
respuesta = entrada.nextInt();
Metodo para saber si esta lleno el arreglo
public boolean espacio(boolean f[])
{
for(int i = 1;i < pasajes.length; i = i + 1 )
if(pasajes == false)
{
lleno = false;
break;
}
return lleno;
}
Como siempre muchas gracias por su disposición y espero que alguien pueda orientarme,
Mi código es el siguiente:
boolean pasajes[] = new boolean[11];
boolean lleno = true;
public void menu()
{
Scanner entrada = new Scanner(System.in);
System.out.print("Por favor escriba 1 para Primera Clase y Por favor escriba 2 para Económico o -1 para salir: ");
int respuesta = entrada.nextInt();
while(respuesta != -1)
{
if (respuesta == 1)
{
for(int i = 1; i < pasajes.length; i = i + 1)
{
if(pasajes == false && i <= 5 )
{
pasajes = true;
System.out.print("Su numéro de asiento es " + i + "\n");
break ;
}
if(pasajes == false && i > 5)
{
System.out.println("No quedan asientos en Primera clase");
System.out.print("Desea una reserva en economica S/N");
String decision = entrada.next();
if(decision.equals("S") )
{
for(int h = 6; h < pasajes.length; h = h + 1)
if(pasajes[h] == false)
{
pasajes[h] = true;
System.out.print("Su numéro de asiento es " + i + "\n");
break ;
}
break;
}
}
}
Espacio(pasajes); // aquí llamo el método para comprobar si el avión está lleno
if (lleno == true)
System.out.print("Proximo vuelo dentro de tres horas");
System.out.print("Por favor escriba 1 para Primera Clase y Por favor escriba 2 para Económico o -1 para salir: ");
respuesta = entrada.nextInt();
Metodo para saber si esta lleno el arreglo
public boolean espacio(boolean f[])
{
for(int i = 1;i < pasajes.length; i = i + 1 )
if(pasajes == false)
{
lleno = false;
break;
}
return lleno;
}
Como siempre muchas gracias por su disposición y espero que alguien pueda orientarme,
Respuesta de dimondi21
1