Preciso de ajuda, porque está retornando o resultado como Null? Me expliquem o que estou fazendo de errado. Obrigado.
CÓDIGO
class Funcionario {
String nome;
String departamento;
double salario;
Data entrada;
String rg;
double saldoAnual(){
return this.salario *= 12;
}
void aumento(double valorDeAumento){
this.salario += valorDeAumento;
}
void mostra() {
System.out.println("Nome: " + this.nome);
System.out.println("Departamento: " + this.departamento);
System.out.println("Salário: " + this.salario);
System.out.println("Dia: " + this.entrada.dia);
System.out.println("Mês: " + this.entrada.mes);
System.out.println("Ano: " + this.entrada.ano);
System.out.println("Data de entrada: " + this.entrada.getFormatada());
System.out.println("RG: " + this.rg);
}
}
class Data {
int dia;
int mes;
int ano;
void preencheData (int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String getFormatada() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Empresa {
String nome;
String CNPJ;
Funcionario[] empregados;
int livre = 0;
void adiciona(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
void mostraEmpregados() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
System.out.println("R$" + this.empregados[i].salario);
}
}
}
class TesteFuncionario {
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
f1.nome = "Felipe";
f1.departamento = "Marketing";
f1.salario = 200;
f1.entrada = new Data();
f1.entrada.preencheData(10, 10, 2010);
f1.rg = "123456789";
f1.mostra();
Funcionario f2 = new Funcionario();
f2.nome = "Felipe";
f2.departamento = "Marketing";
f2.salario = 200;
f2.entrada = new Data();
f2.entrada.preencheData(10, 10, 2010);
f2.rg = "123456789";
f2.mostra();
if(f1 == f2) {
System.out.println("iguais");
} else {
System.out.println("diferentes");
}
}
}
class TestaEmpresa {
public static void main (String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.salario = 1000;
empresa.adiciona(f1);
Funcionario f2 = new Funcionario();
f2.salario = 1700;
empresa.adiciona(f2);
empresa.empregados[0].mostra();
empresa.empregados[1].mostra();
empresa.mostraEmpregados();
}
}