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;
}
}
class Funcionario {
String nome;
int documento;
Data dataPosse = new Data();
double salario;
String localizacao;
double rendimentoAnual;
void recebeAumento (double valor) {
double percentual = valor / 100;
double novoSalario = this.salario + (this.salario * percentual);
this.salario = novoSalario;
}
double calculaGanhoAnual() {
double rendimentos = this.salario * 12;
this.rendimentoAnual = rendimentos;
return this.rendimentoAnual;
}
void mostra() {
System.out.println("Nome: " + this.nome);
System.out.println("RG: " + this.documento);
System.out.println("Data da Posse: " + this.dataPosse);
System.out.println("Data da Posse DIA: " + this.dataPosse.dia);
System.out.println("Data da Posse MES: " + this.dataPosse.mes);
System.out.println("Data da Posse ANO: " + this.dataPosse.ano);
System.out.println("Salário: " + this.salario);
System.out.println("Gerência: " + this.localizacao);
System.out.println("Rendimento Ano: " + this.rendimentoAnual);
System.out.println("");
}
}
class Exercicio1 {
public static void main (String [] args) {
Funcionario meuFuncionario;
meuFuncionario = new Funcionario();
Funcionario meuGerente;
meuGerente = new Funcionario();
//meuGerente = meuFuncionario;
meuFuncionario.nome = "PAULO EDUARDO MENDES CANDIDO";
meuFuncionario.documento = 35628508;
//Funcionario.dataPosse = 25022008;
meuFuncionario.localizacao = "Sede VI";
meuFuncionario.salario = 12600.00;
meuFuncionario.rendimentoAnual = 0;
meuGerente.nome = "PAULO EDUARDO MENDES CANDIDO";
meuGerente.documento = 35628508;
//Gerente.dataPosse = 25022008;
meuGerente.localizacao = "Sede VI";
meuGerente.salario = 12600.00;
meuGerente.rendimentoAnual = 0;
//adicionando a data como tipo
meuFuncionario.mostra();
meuFuncionario.dataPosse = new Data();
meuFuncionario.dataPosse.preencheData(05, 2, 1982);
if (meuFuncionario == meuGerente) {
System.out.println ("iguais");
} else {
System.out.println ("diferentes"); // vai ser sempre diferente porque os objetos são iguais mas a referências não é.
}
meuFuncionario.recebeAumento(8);
//System.out.println("Novo Salario = " + meuFuncionario.salario);
meuFuncionario.calculaGanhoAnual();
//System.out.println("Rendimento Anual = " + meuFuncionario.rendimentoAnual);
meuFuncionario.mostra();
}
}