Passar parametro

Meus amigos eu to com um problema aqui,assim, dentro do meu Main tenho um switch como vcs pode ver, ai eu quero manda por parametro a variavel val, para o metodo fazReserva que esta na mesma classe. Mas eu nao estou sabendo enviar a variavel val, me ajudem ai!!! Fazendo favor…

public class Usuario {

 public void fazReserva () {
      
} 
public static void main(String args[ ]) {
   
case 4:
                 
            String opcao = JOptionPane.showInputDialog(" Reserva de :  \n[1]--Livro  \n[2]--Revista \n[3]--Cancelar Reserva");
                                 int  val = Integer.parseInt ( opcao); 
                     
      PROBLEMA --->        //  como passar val para o metodo fazReserva
                                 
                            break;

Obrigado!!!

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Carneiro[/color][/size] :joia:

[code] public void fazReserva (int val) {

}

case 4 :

fazReserva(val);[/code]

Assim nao sei o que é nao, mais c vc tiver outra iadeia de como fazer isso e agradeço d++!!!
obrigado…

Posta o código em que estás efectivamente a trabalhar, esse que tu colocaste contém erros. É melhor postares. E usa BBcode.

package biblioteca_gustavo;
import javax.swing.JOptionPane;
import java.util.Vector;

public class Usuario {

  public  static  Vector <Reservas> Reservas = new Vector <Reservas>();
  public  static  Vector <Livros>  Livros = new Vector <Livros>();
  public  static  Vector <Revista> Revista = new Vector <Revista>();  
  public  static  Vector <Usuario> Usuario = new Vector <Usuario>();

  private String nome;

  private String endereco;

  private String telefone;

  
  private int  senha_c;
  
  private int tel;
  
  public static Object e;
  
  public int val;
  
  public void fazReserva (int val) {
     this.val=val;
  } 
  
  public Usuario(String nome, String endereco, int tel, int senha_c){
    
      this.nome=nome;
      this.endereco=endereco;
      this.tel=tel;
      this.senha_c=senha_c;
     
  }
     public String getnome(){
          return nome;
      }
      public String getendereco(){
          return endereco;
      }
      public String gettelefone(){
          return telefone;    
      }
      public int getsenha_c(){
          return senha_c;
      }           
   
    public static void main(String args[ ]) {
  
  String opc, nome, endereco, telefone, senha, opc2, colecao, editora,  opc3  ;
  int resultado, senha_c, tel, resultado2,resultado3, i,emprestado,reservado;
  
    
    
       do{                
         opc  = JOptionPane.showInputDialog(" Gostaria de realizar \n[1]--Cadastro de usuario \n[2]--Cadastro de Material \n[3]--Emprestimo ou Devolucao \n[4]--Reservas \n[5]--Sair ");
                                resultado  = Integer.parseInt ( opc );
        
                        switch(resultado){
                            case 1:
                                
                 nome = JOptionPane.showInputDialog("Digite o Nome do Cliente para o cadastro:");
                 endereco = JOptionPane.showInputDialog("Digite seu Endereco para o cadastro com o Nº:");   
                 telefone = JOptionPane.showInputDialog("Digite o Numero do Telefone Residencial ex:(063) 3321-3211");
                 senha =  JOptionPane.showInputDialog("Digite a Senha que deseja cadastrar para o Cliente:");
                                 tel = Integer.parseInt(telefone); 
                                 senha_c = Integer.parseInt(senha);
                                 Usuario h = new Usuario( nome, endereco, tel, senha_c);
                                 Usuario.add(h);
                                 JOptionPane.showMessageDialog(null,"Cadastro realizado com Sucesso:");
                            break;
                        
                            case 2:
                                
                          do{                
         opc2  = JOptionPane.showInputDialog(" Gostaria de realizar cadastro de: \n[1]--Revistas \n[2]--Livros  \n[3]--Sair ");
                                resultado2  = Integer.parseInt ( opc2 );
        
                        switch(resultado2){
                        
                        case 1:
                            emprestado=0;
                            reservado=0;
                 colecao = JOptionPane.showInputDialog("Digite a Colecao da revista:");
                 editora = JOptionPane.showInputDialog("Digite a editora:");  
                          Revista a = new Revista (reservado, emprestado,colecao, editora);
                          Revista.add(a);
                          JOptionPane.showMessageDialog(null,"Cadastro realizado com Sucesso:");
                        break;
                         
                        case 2:
                            emprestado=0;
                            reservado=0;
                String editora1 = JOptionPane.showInputDialog("Digite a Editora do Livro:");
                String edicao = JOptionPane.showInputDialog("Digite a sua Edicao:");   
                String isbn = JOptionPane.showInputDialog("Digite o seu ISBN (combo)");
                String autor =  JOptionPane.showInputDialog("Digite o seu Autor:");
                String num_artigo =  JOptionPane.showInputDialog("Digite o numero de artigos existentes na revista:");
                                 int n_edicao = Integer.parseInt(edicao);
                                 int n_isbn  = Integer.parseInt(isbn);
                                 int num = Integer.parseInt(num_artigo);
                        Livros c = new Livros( reservado, emprestado, editora1, n_edicao, n_isbn, autor );
                        Livros.add(c);
                               for ( i=0; i < num; i++ ){
                 String autor_artigo = JOptionPane.showInputDialog("Digite a Editora do Livro:");
                 String tituloArtigo = JOptionPane.showInputDialog("Digite a sua Edicao:"); 
                 Artigo d = new Artigo (autor_artigo, tituloArtigo, n_isbn);                
                               }
                JOptionPane.showMessageDialog(null,"Cadastro realizado com Sucesso:");
                     break;
                        }     
                      }while(resultado2 != 3);  
                            break;
                            
                            case 3:
       
               do{
                   
         opc3  = JOptionPane.showInputDialog(" Emprestimo: \n[1]--Emprestimo \n[2]--Devolucao  \n[3]--Sair ");
                                 resultado3  = Integer.parseInt ( opc3 );
        
                        switch(resultado3){
                       
                            case 1:
                          String mate = JOptionPane.showInputDialog(" Material para Emprestimo e:  \n[1]--Livro  \n[2]--Revista");
                                      int  nmate = Integer.parseInt ( mate); 
                                      Material f = new Material();
                                      f.emprestar(nmate); 
                            break;
                            
                        case 2:
                             String op = JOptionPane.showInputDialog(" Devolucao  e:  \n[1]--Livro  \n[2]--Revista");
                                 int  opm = Integer.parseInt ( op); 
                                 Material g = new Material();
                                       g.devolver(opm);
                        break;                    
        
                     }   
                        }while(resultado3 != 3);                            
                        break;
                            
                            case 4:
                 
                                 String opcao = JOptionPane.showInputDialog(" Reserva de :  \n[1]--Livro  \n[2]--Revista \n[3]--Cancelar Reserva");
                                 int  val = Integer.parseInt ( opcao); 
         
PROBLEMA AQUI ----->   fazReserva(val);
                     
                                 
                            break;
                        }
    
    }while(resultado != 5);
   
 }
   
}

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Carneiro[/color][/size] :joia:

Então qual é realmente a sua dúvida?

O problema aqui e quando eu vou passar parametro desse jeito fazReserva(val); para o metodo fazReserva da dando errado o codigo.
Eu uso o Netbeans ai eu quero um ideia!!! :grin:
Abraços

Provavelmente o erro que tá acontecendo é esse certo:

O problema é que seu método fazReserva é um método de instancia, ou seja, só pode ser acessado através de uma instancia do objeto Usuario. Porém a chamada dele vc faz de dentro do método main, que é um método estático (não precisa de instancia de Usuário para chamar)…

E ai vem o problema, não é simplesmente mudar o modificador do método, pois o método sendo estatico e não estatico há uma grande diferença na lógica…

Basicamente a pergunta que te faço é essa:
“você tem uma opção 1 chamada de cadastro de usuarios, logo seu sistema pode ter varios usuarios, depois vc tem uma opção 4 que se chama reserva, e ai te pergunto, reserva para qual usuario?! ali vc só diz o que quer reservar e não para quem… quando vc resolver esse problema (para quem reservar) vc vai resolver a chamada desse método”

ps: acho que tem erro tb na sua lógica de emprestimo e devolução, vc empresta e devolve materiais ja existentes (cadastrados no sistema) e não novos materiais como esta feito:

                                   int  nmate = Integer.parseInt ( mate);
                                      Material f = new Material();
                                      f.emprestar(nmate);

Na real acho que quem empresta material e devolve material é um Usuário tb… assim como ele fazReserva…

de qualquer forma, resolve primeiro o problema do seu fazReserva

Ele vai fazer reserva para o usuario, que desejar, e que estiver cadastrado exixtente no sistema, e assim nao ta pronto a parte de fazer reserva nao pq ainda to tentando passar por parametro a opcao para do case4:
para dar continuidade para meu codigo

[quote=“GustavoLemos”]Ele vai fazer reserva para o usuario, que desejar, e que estiver cadastrado exixtente no sistema, e assim nao ta pronto a parte de fazer reserva nao pq ainda to tentando passar por parametro a opcao para do case4:
para dar continuidade para meu codigo[/quote]

pqp, desisto, vc não entendeu nada que eu disse né?!, eu basicamente disse que não tem como vc arrumar esse problema que vc tem AGORA sem definir para qual usuario será feito a reserva…

vc só pode chamar fazReserva a partir de uma instancia de Usuario, o erro NÃO É DE PASSAGEM DE PARÂMETRO, e sim que vc esta tentando acessar fazReserva de forma estatica sendo que ele é um método de instancia… mas se não acreditou (o que para mim indica que vc nãao faz a minima noção do que está fazendo), então tá, faz isso, vai compilar, de forma errada, vc vai tirar 0 no trabalho, seu professor vai dizer: “nossa! que que é isso! não aprendeu nada”

        String opcao = JOptionPane.showInputDialog(" Reserva de :  \n[1]--Livro  \n[2]--Revista \n[3]--Cancelar Reserva");
        int  val = Integer.parseInt ( opcao);
	Usuario u = new Usuario("Eu nao presto atenção no forum", "e isto está completamente errado", 1, 2);
        u.fazReserva(val); 		

flw!

Calma luBS, não precisa se extressar por 1 motivo, hoje é domingo! :ypisc: