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

Orientação a objetos

class Funcionario {

String nome;

String departamento;

double salario;

String admissao;

String rg;

void RecebeAumento(double AumentoSal){

this.salario += AumentoSal; }

void CalculaGanhoAnual (double anual){

this.salario = (salario * 12);

}

}

public class Dados {

public static void main(String[] args) {

Funcionario cris = new Funcionario ();

cris.departamento = "recursos humanos";

cris.salario = 3000.00;

cris.admissao = "10 março 2004";

cris.rg = "0123456";

cris.RecebeAumento(1000.00);

cris.CalculaGanhoAnual(cris.salario * 12);

System.out.println(cris.departamento);

System.out.println(cris.salario);

System.out.println(cris.admissao);

System.out.println(cris.rg);

System.out.println(cris.CalculaGanhoAnual);

}

}

Pessoal,

Nao estou conseguindo sair desse erro

Dados.java:43: error: cannot find symbol System.out.println(cris.CalculaGanhoAnual); ^ symbol: variable CalculaGanhoAnual location: variable cris of type Funcionario 1 error

7 respostas

Olá, Cristiano.

Você colocou um parâmetro desnecessário (double anual) no método "CalculaGanhoAnual", quando você o criou. No seu caso, este método não possui nenhum parâmetro, e quando você chama ele no main você, depois que remover o parâmetro desnecessário, deve chamá-lo da seguinte forma: "System.out.println(cris.CalculaGanhoAnual());"

O parênteses depois do nome do método é necessário, pois é lá que ficam os parâmetros (Mas no caso deste não precisa de nenhum, portanto os parênteses devem estar vazios). Não se esqueça de remover o parâmetro "double anual" lá em cima na declaração do método!

Espero ter ajudado.

Abraço!

Reynaldo.

Reynaldo, fiz o que voce disse, e agora está dando esse erro

Dados.java:14: error: '(' expected void CalculaGanhoAnual{ ^ 1 error

Cristiano, no vaso dos métodos, quando não possuem parâmetros, eles mantêm os parênteses. Abre e fecha parênteses após o nome do método, assim: CalculaGanhoAnual()

Olá Cristiano,

O seu CalculaGanhoAnual() é um método para retornar o valor anual que o Funcionário ganha, certo? Repare que do jeito que você está fazendo, a sua função CalculaGanhoAnual() está setando o salário do funcionário como 12 vezes mais.

Logo, duas coisas precisam ser observadas: Você não precisa passar nenhum parâmetro dentro dos parenteses e precisa definir um valor de retorno no seu método.

Acredito que o correto seria:

double CalculaGanhoAnual(){

return (this.salario * 12);

}

E para imprimir: System.out.println(cris.CalculaGanhoAnual());

Boa tarde Cristiano, verifique em seu código o seguinte comando: cris.CalculaGanhoAnual(cris.salario * 12);

Dê uma olhada no método seu CalculaGanhoAnual e verifique qual é o parâmetro que ele solicita.

Att

solução!

Pessoal, muito obrigado. Conseguimos terminar meu exercico

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