Loop em array[resolvido]

3 respostas
Paulo_Mour

Boa tarde a todos. Peço o auxílio de vocês para solução da dúvida abaixo. Quero imprimir uma tabela em que existem 10 vagas no avião. 5 na primeira classe e 5 na classe econômica. Minha intenção é imprimir, por exemplo, “poltrona: 1 status: vazia” e a medida que os passageiros forem escolhendo os lugares as informações são alteradas. Minhas dúvidas são:

1 - Estou tentando fazer o loop para que o nº das poltronas sejam alterados mas não consigo.
2 - Porque o status da poltrona aparece na primeira linha quando executo o aplicativo ?

O laço for da variável J executa o que eu quero mas não é da forma que eu gostaria de fazer(quero fazer como a variável I). Posteriormente eu gostaria me manipular o status das poltronas. Alguém poderia me ajudar ?

import java.util.Scanner;

public class Reserva
{
	Scanner entrada = new Scanner(System.in);
		
	private String nomeEmpr;
	private String cnpj;
	
	int primClasse[] = new int[6];
	int classEcon[] = new int[11];
	int poltrona[] = new int[11];
	boolean situacao;
	int valor = 0;
	
	//Construtor da classe
	public Reserva(String nm, String cnp)
	{
		nomeEmpr = nm;
		cnpj = cnp;
	}
	
	//Métodos set e get de primClasse e classEcon
	public void setnomeEmpr(String nm)
	{
		nomeEmpr = nm;
	}
	
	public String getNomeEmpr()
	{
		return nomeEmpr;
	}
	
	public void setCnpj(String cnp)
	{
		cnpj = cnp;
	}
	
	public String getCnpj()
	{
		return cnpj;
	}
	
	public boolean getSituacao()
	{
		if(situacao == true)
					
			System.out.printf("%s", "Ocupada");
			
			else
							
					System.out.printf("%s", "Vazia");
				
		return situacao;
	}
			
	public void disponivel()
	{		
		System.out.println("\nPrimeira classe:");
		
		String output = "Poltrona\tStatus\n";
		for(int i = 1 ; i < primClasse.length ; i++)
		{
									
			System.out.printf("\nPoltrona %d Status: ", poltrona[i], getSituacao());
																		
		}
		
		System.out.println("\n\nClasse Economica:");
		for(int j = 6 ; j < classEcon.length ; j++)
		{
			
			System.out.printf("\nPoltrona %d Status: ", j, getSituacao());
			
		}
	}
	
	
}
public class ReservaTest
{
	public static void main(String [] args)
	{
	
	Reserva reserva = new Reserva("","");
	
	reserva.disponivel();
	}
	
}

Desde já agradeço.

Abs,

3 Respostas

D
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package forum;

/**
 *
 * @author Damiao
 */
import java.util.Scanner;

public class Reserva
{
   String[] poltronaPrimClasse = new String[5];
   String[] poltronaEconClasse = new String[5];
   int indicePrimClasse = 0;
   int indiceEconClasse = 0;


   public void reservar()
   {
      Scanner entrada = new Scanner(System.in);
      System.out.println("Qual classe vc deseja reservar? Digite 'P' ou 'E'.");
      String tipo = entrada.nextLine();
      if(tipo.equalsIgnoreCase("P"))
      {
         if(indicePrimClasse >= 5)
         {
            System.out.println("Não há vagas disponivéis!");
         }else{
            System.out.println("Informe seu nome: ");
            String reserva = entrada.nextLine();
            poltronaPrimClasse[indicePrimClasse] = "RESERVADO para "+reserva;
            indicePrimClasse++;
         }
      }else if(tipo.equalsIgnoreCase("E"))
      {
         if(indiceEconClasse >= 5)
         {
            System.out.println("Não há vagas disponivéis!");
         }else
         {
            System.out.println("Informe seu nome: ");
            String reserva = entrada.nextLine();
            poltronaEconClasse[indiceEconClasse] = "RESERVADO para "+reserva;
            indiceEconClasse++;
         }

      }else
      {
         System.out.println("Essa Classe não existe!");
      }


   }


   public void mostrar()
   {
      System.out.println("Primeira Classe");
      for(int i = 0;i<5;i++)
      {
         if(poltronaPrimClasse[i]==null)
            System.out.println("Poltrona: "+i+", RESERVA: Poltrona Vazia");
         else
            System.out.println("Poltrona: "+i+", RESERVA: "+poltronaPrimClasse[i]);
      }
      System.out.println("");
      System.out.println("Classe Econômica");
      for(int i = 0;i<5;i++)
      {
         if(poltronaEconClasse[i] == null)
            System.out.println("Poltrona: "+i+", RESERVA: Poltrona Vazia");
         else
            System.out.println("Poltrona: "+i+", RESERVA: "+poltronaEconClasse[i]);
      }
   }

   public static void main(String args[])
   {
      Scanner entrada = new Scanner(System.in);
      Reserva obj = new Reserva();

     int menu =0;

     do{
         System.out.println("Menu\n1 - Reservar\n2 - Mostrar Vagas\n3 - Sair");
         menu = entrada.nextInt();

         switch(menu)
         {
            case 1: obj.reservar();
            break;

            case 2: obj.mostrar();
            break;

            case 3:
               break;

            default:
               System.out.println("Opção Inválida");
         }

     }while(menu!=3);

   }


}

assim ficará menos confuso...
vlw

Paulo_Mour

Damião, obrigado. Deverei analisar seu código. Pensei em outra forma e tentarei agregar o seu código e o meu. Desde já agradeço a atenção.

Abs,

D

blz…
se já sanou sua duvida, coloca [RESOLVIDO] no titulo do tópico…
vlw

Criado 5 de julho de 2010
Ultima resposta 6 de jul. de 2010
Respostas 3
Participantes 2