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

Erro na linha de código

Por quê quando eu incluo no meu código "Funcionario f1 = f2;" essa linha passar a ter um erro?

insira seu código aqui

package Funcionario;

public class Funcionario {

public static void main(String[] args) {

Funcionario f1; f1 = new Funcionario();

f1.nome = "Marcelo"; f1.RG = "10.987.654-32"; f1.departamento = "RH"; f1.salario = 3400.00; f1.dataEntrada = "10/1/2012";

Funcionario f2; f2 = new Funcionario();

f2.nome = "Marcelo"; f2.RG = "10.987.654-32"; f2.departamento = "RH"; f2.salario = 3400.00; f2.dataEntrada = "10/1/2012";

Funcionario f1 = f2;

if (f1 == f2) { System.out.println("Iguais");

} else { System.out.println("Diferentes");

f1.mostra(); f2.mostra();

} }

String nome; String RG; String departamento; double salario; String dataEntrada;

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

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

}

void mostra() {

System.out.println("");

System.out.println("Nome: " + this.nome ); System.out.println("RG: " + this.RG); System.out.println("Departamento: " + this.departamento); System.out.println("Salario: " + this.salario); System.out.println("Data de Entrada: " + this.dataEntrada);

} }

3 respostas

Como o objeto funcionario já tinha sido declarado algumas linhas a cima você não pode declarar novamente.

Para seu código compilar você precisa alterar

de

Funcionario f1 = f2;

para

f1 = f2;

Obrigado, resolveu a esta questão, mas porque quando eu copilo ele não consegue separar no if "iguais" ou "Diferentes" mesmo quando altero os dados?

solução!

O correto para comparar objetos seria utilizar o método e qual f1.equals(f2) sendo necessário escrever o método equals e hash code na sua classe.