O problema para resolver é esse que segue abaixo...
Uma pequena companhia aérea acabou de comprar um computador para seu novo sistema automatizado de reservas. Você foi solicitado a desenvolver o novo sistema.
Você escreverá um aplicativo para atribuir assentos em cada voo da companhia aérea (capacidade: 100 acentos).
Seu aplicativo deve exibir as seguintes alternativas: digite 1 para FirstClasse 2 para Economy. Se o usuário digitar 1, seu aplicativo deve atribuir assentos na primeira classe (poltronas 1 a 20). Se o usuário digitar 2, seu aplicativo deve atribuir um assento na classe econômica (poltronas de 21 a 100).
Seu aplicativo deve exibir um cartão de embarque indicando o número da poltrona da pessoa e se ela está na primeira classe ou na classe econômica.
Utilize um array unidimensional do tipo boolean para representar o gráfico de assentos do avião. Inicialize todos os elementos do array com false para indicar que todas as poltronas estão desocupadas. À medida que cada assento é atribuído, configure o elemento correspondente do array com true para indicar que o assento não está mais disponível.
Seu aplicativo nunca deve atribuir uma poltrona que já foi reservada. Quando a classe econômica estiver lotada, seu aplicativo deve perguntar à pessoa se ela aceita ficar na primeira classe (e vice-versa). Se o cliente aceitar trocar de classe, faça a atribuição apropriada de assento. Se não aceitar, exiba a mensagem ?O próximo voo parte em 3 horas?.
public static void main(String[] args) {
boolean[] assentos = new boolean[100];
int classe, primeiraclasse = 0, economica = 20;
Scanner input = new Scanner( System.in );
String resposta;
for (int i = 0; i < assentos.length; i++)
{
assentos[i] = false;
}
while ( assentos[19] == false || assentos[99] == false)
{
System.out.print( "digite 1 para primeira classe e digite 2 para economica: " );
classe = input.nextInt();
if ( classe == 1 ) {
if ( assentos[19] ) // se utimo assento da Primeira Classe ja estiver reservado
{
System.out.print( "não há mais acentos na primeira classe. você quer um assento na classe economica? [S/N] " );
resposta = input.next();
if(resposta.equals("S"))
{
assentos[economica] = true;
new Ticket( 2, economica );
economica++;
System.out.println("assento economico reservado.");
} else System.out.println("assentos economico não reservado.");
}
else
{
assentos[primeiraclasse] = true;
new Ticket( 1, primeiraclasse );
primeiraclasse++;
}
}
else if ( classe == 2)
if ( assentos[9] )
{
System.out.print( "No more assentos at Economy. Do you want at First Class ? [Y/N] " );
resposta = input.next();
if(resposta.equals("Y"))
{
assentos[primeiraclasse] = true;
new Ticket( 2, primeiraclasse );
primeiraclasse++;
} else System.out.println("assentos do not reserved.");
}
else
{
assentos[economica] = true;
new Ticket( 2, economica );
economica++;
}
else
{
System.out.println( "Error. Invalid class." );
for (int i = 0; i <= 4; i++)
if ( assentos[i] )
System.out.println("First Class " + i + " reserved.");
else System.out.println("First Class " + i + " NOT reserved.");
for (int i = 5; i <= 9; i++)
if ( assentos[i] )
System.out.println("Economica " + i + " reservado.");
else System.out.println("Economica " + i + " não reservado.");
}
}
System.out.println( "No more assentos at all !!!" );
}
}