O código faz o que precisa fazer, exibe as informações certas mas com linhas de erro no meio, alguém sabe o que é?
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Aula4;
class Empresa {
String nomeEmpresa;
String cnpjEmpresa;
Funcionario [] empregados;
int livre=0;
void adicionar(Funcionario f){
this.empregados[this.livre]=f;
this.livre++;
}
void mostraEmpregados() {
for (int i = 0; i <= empregados.length; i++) {
System.out.println("Funcionário na posição: " + i +" seu nome é "+ this.empregados[i].nome);
System.out.println("R$" + this.empregados[i].salario);
System.out.println("Seu cargo é " +this.empregados[i].cargo);
}
}
}
class TestaEmpresa {
public static void main (String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.nome = "Joao";
f1.salario = 1000;
f1.dataDeEntrada = new Data();
f1.cargo ="Secretario";
empresa.adicionar(f1);
Funcionario f2 = new Funcionario();
f2.nome="Jonathan";
f2.salario = 1700;
f2.dataDeEntrada = new Data();
f2.cargo ="Motorista";
empresa.adicionar(f2);
Funcionario f3 = new Funcionario();
f3.nome = "Jose";
f3.salario = 1750;
f3.dataDeEntrada = new Data();
f3.cargo ="Teste";
empresa.adicionar(f3);
empresa.mostraEmpregados();
// empresa.empregados[0].Mostra();
// empresa.empregados[1].Mostra();
// empresa.empregados[2].Mostra();
}
}
class Data {
int dia;
int mes;
int ano;
void getFormatada (int dia, int mes, int ano){
this.ano=ano;
this.dia=dia;
this.mes=mes;
System.out.println("Data de entrada :"+this.dia+"/"+
this.mes+"/"+this.ano);
}
}
class Funcionario{
String nome;
String cargo;
double salario;
// String dataDeEntrada;
String RG;
Data dataDeEntrada = new Data();
void recebeAumento (double valor){
this.salario += valor;
}
double calculaGanhoAnual(){
return this.salario * 12;
}
void Mostra (){
System.out.println("Nome :" + this.nome);
System.out.println("Cargo atual: " +this.cargo);
System.out.println("Salário atual :"+this.salario);
// System.out.println("Data de entrada :"+this.dataDeEntrada);
System.out.println("RG:"+ this.RG);
System.out.println("O cálculo de ganho anual é de" +this.calculaGanhoAnual());
}
}
class TestaFuncionario {
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
Funcionario f2 = new Funcionario();
Funcionario f3 = new Funcionario();
f1.nome = "Juan";
f2.nome = "Wellington";
f3.nome = "Wellington";
f3.salario = 500;
f1.salario = 500;
f2.salario = 550;
f1.recebeAumento(50);
f2.recebeAumento(25);
f1.RG = "6469289";
f1.cargo ="Estagiario";
f1.Mostra();
f1.dataDeEntrada.getFormatada(22, 04, 1995);
// f2=f3;
// if (f2 == f3) {
// System.out.println("iguais");
// } else {
// System.out.println("diferentes");
// }
}
}