Galera estou desenvolvendo um projeto em Java utilizando Arrays para fins didáticos e estou encontrando alguns problemas para guardar os valores. O projeto contém uma classe “Empresa”, uma “Funcionário” e uma de Teste.
Quando aparece no console ele pula um indice, mostrando os funcionarios a partir do indice “1” do array não mostrando o indice 0.
Segue o código:
import java.util.Scanner;
public class TestaEmpresa {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//criando uma empresa
Empresa empresa = new Empresa();
System.out.println("Qual é o nome da sua empresa?");
empresa.nome = sc.nextLine();
System.out.println("Quantos funcionarios sua empresa possui?");
empresa.qtdFuncionarios = sc.nextInt();
empresa.empregados = new Funcionario[empresa.qtdFuncionarios];
System.out.println("\nDigite o nome de seus funcionarios\n");
for(int i = 0; i < empresa.empregados.length; i++) {
Funcionario f = new Funcionario();
System.out.println("Digite seu nome: ");
f.nome = sc.nextLine();
empresa.adicionaFuncionario(f);
}
System.out.println("\n\nFuncionarios da empresa "+ empresa.nome + ":");
empresa.mostraEmpregados();
empresa.mostraEmpregadosEnhanced();
sc.close();
}
public class Empresa {
String nome;
String cnpj;
int qtdFuncionarios;
Funcionario [] empregados;
void adicionaFuncionario(Funcionario f) {
for (int i = 0; i < this.empregados.length; i++) {
if(this.empregados[i] == null) {
this.empregados[i] = f;
break;
}
}
}
void mostraEmpregados() {
for(int i = 0; i < this.empregados.length; i++) {
if(this.empregados[i] == null) {
break;
}
System.out.println("Nome: "+ this.empregados[i].nome);
}
System.out.println("");
}
void mostraEmpregadosEnhanced() {
for (Funcionario f : this.empregados) {
if(f == null) {
break;
}
System.out.println("Nome: "+ f.nome);
}
System.out.println("");
}
}
public class Funcionario {
String nome;
String departamento;
double salario;
Data dataEntrada;
String rg;
boolean estaNaEmpresa;
}
Alguém pode me ajudar?
