Exercicio

Pessoal, estou fazendo um exercicio… mais ainda preciso fazer algo com ele e nao estou conseguindo…
O codigo esta assim:

package Exercicios;  
import javax.swing.*;       
public class exercicio44 {    
    public static int[] mesas = new int[40];      
    public static int maxLugares = 6;    
    public static int mesaInf = 0;  
    public static int lugarInf = 0;  
    public static char outraReservaInf = 0;      
    
      public static void main (String args []){             
          boolean saida = false;     
          while(saida == false){    
              String mesa = JOptionPane.showInputDialog(null, "Digite o número da mesa para fazer a reserva");   
              mesaInf = Integer.parseInt(mesa);  
              String lugares = JOptionPane.showInputDialog(null, "Digite a quantidade de lugares");   
              lugarInf = Integer.parseInt(lugares);  
              reservaDeMesa();     
                
              String outraReserva = JOptionPane.showInputDialog(null, "Se deseja efetuar outra reserva digite 's' ou qualquer outra tecla para sair");     
              outraReservaInf = outraReserva.charAt(0);  
              if(outraReservaInf == 'S' || outraReservaInf == 's') {                  
              } else
              saida = true; 
          }       
      }       
         public static void reservaDeMesa() {       
            if((maxLugares - mesas[mesaInf]) >= lugarInf){         
            mesas[mesaInf] = lugarInf;         
            System.out.println("Reserva efetuada com sucesso na mesa "+ mesaInf + "   Foi reservado " + lugarInf + " lugares");         
            } else          
            System.out.println("A mesa " + mesaInf+ " não possui lugares o suficiente.");
         }          
}

O que precisa ser feito:

  • Esta dando para colocar mesa “0” o que nao pode… tem q comecar na mesa 1
  • Dar print, mostrando qntos lugares estao sendo usado na mesa, ou quantos lugares ainda restam…
    -Quando todos os lugares estiverem sendo reservados (240 lugares) o programa fecha…

cara seguinte:

1 - não vo te passar por código, mas vou te dizer o que fazer, to sem ide aqui

voce deve colocar um while para verificar se o numero digitado é maior que 0 e alimenta o vetor

while(mesaInf>0) { //aqui continua o comando }

Para saber quantos lugares faltam, usa o .getLength() verificando o tamanho do vetor
E se ele estiver cheio, sai fora.

Alguem ae consegue me dizer como faco isso no codigo??

  • Dar print, mostrando qntos lugares estao sendo usado na mesa, ou quantos lugares ainda restam…
    -Quando todos os lugares estiverem sendo reservados (240 lugares) o programa fecha…

Consegui para contar os lugares reservados no momento… Soh falta conseguir fazer pra mostrar qntas lugares estao sendo reservados na mesa, ou quantos lugares ainda restam…

package Exercicios;    
import javax.swing.*;         
public class exercicio44 {      
    public static int[] mesas = new int[41];        
    public static int maxLugares = 6;      
    public static int mesaInf = 0;    
    public static int lugarInf = 0;    
    public static char outraReservaInf = 0; 
    public static int lugarInfCont = 0;
    
      public static void main (String args []){  
          boolean saida = false;       
          while(saida == false){      
              String mesa = JOptionPane.showInputDialog(null, "Digite o número da mesa para fazer a reserva (de 1 a 40)");     
              mesaInf = Integer.parseInt(mesa);   
              if (mesaInf == 0 || mesaInf > 40) {  
                  JOptionPane.showMessageDialog(null, "Nao possui mesa com esse número" );  
                  System.exit(0);  
              }  
              String lugares = JOptionPane.showInputDialog(null, "Digite a quantidade de lugares");     
              lugarInf = Integer.parseInt(lugares);
              lugarInfCont += lugarInf;
              if (lugarInfCont == 240) {
                  System.exit(0);
              }
              reservaDeMesa();       
                  
              String outraReserva = JOptionPane.showInputDialog(null, "Se deseja efetuar outra reserva digite 's' ou qualquer outra tecla para sair");       
              outraReservaInf = outraReserva.charAt(0);    
              if(outraReservaInf == 'S' || outraReservaInf == 's') { 
              } else   
                  saida = true;   
          }         
      }         
         public static void reservaDeMesa() {         
            if(maxLugares - mesas[mesaInf] >= lugarInf){           
            mesas[mesaInf] = lugarInf;           
            System.out.println("Reserva efetuada com sucesso na mesa "+ mesaInf + "   Foi reservado " + lugarInf + " lugares");
            } else            
            System.out.println("A mesa " + mesaInf+ " não possui lugares o suficiente.");
            System.out.println("Lugares reservados no momento: " + lugarInfCont);
         }            
}
public class exercicio44 {
     
    public static int[] mesas = new int[41];           
    public static int maxLugares = 6;         
    public static int mesaInf = 0;       
    public static int lugarInf = 0;       
    public static char outraReservaInf = 0;   
    public static int lugarInfCont = 0;   
       
      public static void main (String args []){     
          boolean saida = false;         
          while(saida == false){         
              String mesa = JOptionPane.showInputDialog(null, "Digite o número da mesa para fazer a reserva (de 1 a 40)");       
              mesaInf = Integer.parseInt(mesa);     
              if (mesaInf == 0 || mesaInf > 40) {     
                  JOptionPane.showMessageDialog(null, "Nao possui mesa com esse número" );     
                  System.exit(0);     
              }     
              String lugares = JOptionPane.showInputDialog(null, "Digite a quantidade de lugares");       
              lugarInf = Integer.parseInt(lugares);   
              lugarInfCont += lugarInf;   
              if (lugarInfCont == 240) {   
                  System.exit(0);   
              }   
              reservaDeMesa();         
                     
              String outraReserva = JOptionPane.showInputDialog(null, "Se deseja efetuar outra reserva digite 's' ou qualquer outra tecla para sair");         
              outraReservaInf = outraReserva.charAt(0);       
              if(outraReservaInf == 'S' || outraReservaInf == 's') {   
              } else {    
                  saida = true;   
                  int j=0;
                 //verifica as mesas ocupadas
                  for(int i=0;i<mesas.length;i++){
                    if(mesas[i] != 0) {
                       j++;
                    }
                  }
                  System.out.println("Existem "+j+" mesa(s) ocupada(s)");
              }
          }           
      }           
         public static void reservaDeMesa() {           
            if(maxLugares - mesas[mesaInf] >= lugarInf){             
            mesas[mesaInf] = lugarInf;             
            System.out.println("Reserva efetuada com sucesso na mesa "+ mesaInf + "   Foi reservado " + lugarInf + " lugares");   
            } else               
            System.out.println("A mesa " + mesaInf+ " não possui lugares o suficiente.");   
            System.out.println("Lugares reservados no momento: " + lugarInfCont);  

            
         }               
}  

ta na mão amigo, comentei a linhda que adicionei para ver os lugares