Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

[DÚVIDA] Ex 4 da Aula 3 - Começando com Orientação de Objetos

Olá!

Estou usando o netbeans para compilar. Porém, conforme ensinado aqui, eu não consigo imprimir o valor do método "calculaGanhoAtual". Abaixo, segue como fiz:

public class Funcionario {
    String nome;
    String rg;
    double salario;
    String departamento;

    void recebeAumento (double valor){
        this.salario += valor;
    }

    double calculaGanhoAnual (){
        return this.salario * 12;
    }

    void mostra (){
    System.out.println ("Nome do(a) Funcionário(a): " + this.nome);
    System.out.println ("RG do(a) Funcionário(a): " + this.rg);
    System.out.println ("Salário atual: " + this.salario);
    System.out.println ("Departamento: " +this.departamento);
    System.out.println("Ganho Anual: R$ " +this.calculaGanhoAtual());
    }
}

e o main:

public class TesteFuncionario{
    public static void main(String[] args) {

                Funcionario adelita = new Funcionario ();
                adelita.nome = "Adelita =D";
                adelita.rg = "1234678";
                adelita.salario = 800.0;
                adelita.recebeAumento(20.0);
                adelita.departamento = "S.I.";
                adelita.mostra();           

            }
        }

O que estou fazendo de errado?

Obrigada!

5 respostas

tente

double valor_total;
void mostra (){
    System.out.println ("Nome do(a) Funcionário(a): " + this.nome);
    System.out.println ("RG do(a) Funcionário(a): " + this.rg);
    System.out.println ("Salário atual: " + this.salario);
    System.out.println ("Departamento: " +this.departamento);
    System.out.println("Ganho Anual: R$ " + valor_total = this.calculaGanhoAtual());
    }

Ele aparece algum erro, ou só da campo em branco ?

solução!

Perceba que seu método mostra() chama:

public void mostra() {
        System.out.println("Nome do(a) Funcionário(a): " + this.nome);
        System.out.println("RG do(a) Funcionário(a): " + this.rg);
        System.out.println("Salário atual: " + this.salario);
        System.out.println("Departamento: " + this.departamento);
        System.out.println("Ganho Anual: R$ " + this.calculaGanhoAtual());
    }

Apenas troque o calculaGanhoAtual() para calculaGanhoAnual:

public void mostra() {
        System.out.println("Nome do(a) Funcionário(a): " + this.nome);
        System.out.println("RG do(a) Funcionário(a): " + this.rg);
        System.out.println("Salário atual: " + this.salario);
        System.out.println("Departamento: " + this.departamento);
        System.out.println("Ganho Anual: R$ " + this.calculaGanhoAnual());
    }

Você declarou o método como anual e fez a chamada no mostra como atual!

Obrigada gente! Foi erro de digitação mesmo! (desculpem!)