Erro: cannot find symbol

4 respostas
ronibass

Ola pessoal, estou estudando java a pouco tempo e estou com problemas para compilar meu projeto. Sei que é um erro bem simples, mas ainda estou dando meus primeiros passos na programação POO
Até achei alguns tópicos com o mesmo problema que o meu mas não consegui nada que resolvesse meu problema. Bom é o seguinte, estou tentando fazer uma classe funcionário e uma subclasse vendedor, mas quando tento chamar o método "mostra_salario_total" dentro do método "caucula_salario" que esta na subclasse vendedor, ele da esse erro, e mesmo sabendo que é uma coisa simples ainda não consegui achar nada que resolvesse este problema.
Desde já agradeço a ajuda de todos !

import javax.swing.JOptionPane;  
      
    public class Funcionario {  
      
       private String nome;  
       private String rg;  
       private double salariobase;  
        private double salario_total;  
      
        public Funcionario() {  
            int tam;  
            boolean a;  
           nome = JOptionPane.showInputDialog(null, "Entre com o nome : ");  
           salariobase = Float.parseFloat(JOptionPane.showInputDialog(null, "Informe o salario base do Funcionario"));  
      
           do{  
           rg = JOptionPane.showInputDialog(null,"Entre com o RG : ");  
           tam = rg.length();  
           if(tam != 9){  
              JOptionPane.showMessageDialog(null, "RG inválido !");}  
              if( tam == 9){  
                 JOptionPane.showMessageDialog(null, "Cadastro realizado ");  
                 break;  
              }  
           }while( a = true);  
           JOptionPane.showMessageDialog(null,"Nome: " + nome +  
                                             "\nRG  : " + rg +  
                                             "\nSalario: R$ " + salariobase);  
           }  
      
           public double mostra_salario_total(){  
              return salario_total;  
           }  
      
    }   
      
    *************************************************************  
      
      
    import javax.swing.JOptionPane;  
    public class Vendedor extends Funcionario{  
      
       private double comisao;  
      
        public Vendedor() {  
           super();  
           comisao = 0.5;  
      
            }  
            public double caucula_salario(double vendas){  
                mostra_salario_total =(vendas/100)*comisao;  
                return mostra_salario_total;  
            }  
      
    }  
    *************************************************************  
      
      
    import javax.swing.JOptionPane;  
      
    public class Principal {  
      
        public static void main(String[] args) {  
      
      
        int opcao;  
        opcao = Integer.parseInt(JOptionPane.showInputDialog(null, "Cadastro de Funcionários: \n1 - Vendas"+  
           "\n2 - Administrativo"));  
          switch(opcao){  
             case 1:  
                Vendedor v = new Vendedor();  
                break;  
          case 2: ...  
             
          }  
        }  
      
    }

...Obs: ainda não terminei a classe principal pois travei neste erro

4 Respostas

DaniloAndrade

Bom dia,

ronibass, cara o erro está aqui

public double caucula_salario(double vendas){    
             mostra_salario_total =(vendas/100)*comisao;    
             return mostra_salario_total;    
}

porque na verdade vc não esta chamando o metodo
vc esta tentando atribuir um valor para uma variavel que não existe

pra chamar seu metodo vc teria que chamar assim

mostra_salario_total();

e ainda assim daria erro porque para passar valor para um metodo vc o faz por parametro e o seu metodo

mostra_salario_total();

não recebe parametro;

ronibass

Bom dia

Fico até constrangido em postar um erro tão tosco como esse mas ainda estou começando a entender como funciona a POO
Por favor, poderia me dar uma luz de como eu poderia fazer ?
fico muito agradecido pela vontade de me ajudar

DaniloAndrade

cara da uma lida nessa apostila

vai te ajudar bastante

ronibass

DaniloAndrade Muito obrigado pela sua ajuda

Criado 14 de junho de 2012
Ultima resposta 14 de jun. de 2012
Respostas 4
Participantes 2