public class ClasseExecutoraFuncionarios {
public static void main(String[] args) {
List<Funcionario> funcionarios = new ArrayList<>();
Scanner entrada = new Scanner(System.in);
Scanner entradaString = new Scanner(System.in);
int elemento;
int contFuncionarios = 0, contHomens = 0, contMulheres = 0, conIndefinido = 0;
float acumSalario = 0;
String pergunta = "S";
float salario;
while (pergunta.equalsIgnoreCase("S")) {
contFuncionarios++;
Funcionario funcionario = new Funcionario();
System.out.println("Informe seu ID: ");
funcionario.setId(entrada.nextInt());
System.out.println("Nome: ");
funcionario.setNome(entradaString.nextLine());
System.out.println("Cidade: ");
funcionario.setCidade(entradaString.nextLine());
System.out.println("Telefone: ");
funcionario.setTelefone(entradaString.nextLine());
System.out.println("Email: ");
funcionario.setEmail(entradaString.nextLine());
System.out.println("Informe Sexo{F/M]: ");
funcionario.setSexo(entradaString.nextLine());
System.out.println("Número de horas trabalhadas: ");
funcionario.setHorasTrabalhadas(entrada.nextFloat());
System.out.println("valor de horas trabalhadas: ");
funcionario.setValorhora(entrada.nextFloat());
acumSalario = acumSalario + (funcionario.getHorasTrabalhadas() * funcionario.getValorhora());
if (funcionario.getSexo().equalsIgnoreCase("F")) {
contMulheres++;
} else if (funcionario.getSexo().equalsIgnoreCase("M")) {
contHomens++;
} else {
conIndefinido++;
}
//a seguir adiciono o funcionario instanciado na lista de Funcionarios.
funcionarios.add(funcionario);
System.out.println("Deseja Cadastrar um Novo Funcionario[S/N]");
pergunta = entradaString.nextLine();
System.out.println();
System.out.println("------------------------------------");
}
System.out.println();
System.out.println("------------------------------------");
System.out.println("Saida de Dados");
System.out.println();
//Formatando aas saidas de dados
//Numero de fucionarios
System.out.println("Numero de funcionarios cadastrados: " + contFuncionarios);
//alternativa para a rimira saida
// System.out.println("Numero de funcionarios cadastrados="+funcionarios.size());
System.out.println("Numero de Homens: " + contHomens);
System.out.println("Numero de Mulheres: " + contMulheres);
System.out.println("Numero de Funcionarios que informou sexo invalido: " + conIndefinido);
System.out.println("Valor total gasto com Salario: " + acumSalario);
for (elemento = 1; elemento <= funcionarios.size(); elemento++) {
if (funcionarios.get(elemento).getSexo().equalsIgnoreCase("F")) {
//como nao existe o atributo salario no objeto funcionario
//tive que calcular o valor a ser testado
salario = funcionarios.get(elemento).getValorhora() * funcionarios.get(elemento).getHorasTrabalhadas();
if (salario > 1800) {
System.out.println(funcionarios.get(elemento).getNome());
System.out.println(funcionarios.get(elemento).toString());
}
}
}
}
}