Estou terminando um trabalho de faculdade para amanhã e sou bem iniciante em Java. Ele está apresentando alguns erros e não estou sabendo como instanciar meu vetor(deixei como estava por último) e também entender qual o erro apresentando laço (while), no fechamento da classe principal. Se alguém puder me ajudar, já fiz várias tentativas, mas não estou conseguindo resolver. Como está com erro, não sei se tem mais problemas, pois não tive como testar, mas a princípio são esses. Desde já, muito obrigada.
Enunciado do trabalho:
Faça um programa java para criar um cadastro de funcionários. Solicite ao usuário o número de funcionários da empresa, para dimensionar os vetores. Exiba um menu com as seguintes opções: 1- CADASTRAR FUNCIONÁRIO 2- CONSULTAR FUNCIONÁRIO 3- LISTAR TODOS FUNCIONÁRIOS 4- LISTAR SOMENTE FUNCIONÁRIOS ATIVOS
5- LISTAR FUNCIONÁRIOS EM ORDEM DE IDADE CRESCENTE 10-SAIR
-
O cadastro de funcionários deve conter as seguintes informações:
NOME IDADE SITUAÇÃO (ativo/ inativo)
*As listas devem exibir sempre todas as informações do funcionário.//Classe Funcionário:
import java.util.Arrays;
public class Funcionarios {
private String nome; private int idade; private String situacao; private int quantidade[]; public Funcionarios() { } @Override public String toString() { return "Funcionarios [quantidade=" + Arrays.toString(quantidade) + "]"; } public Funcionarios(String nome, int idade, String situacao){ this.nome=nome; this.idade=idade; this.situacao=situacao; } public void setNome(String nome){ this.nome = nome; } public void setIdade(int idade){ this.idade = idade; } public void setSituacao(String situacao){ this.situacao = situacao; } public String getNome(){ return nome.toUpperCase(); } public int getIdade(){ return idade; } public String getSituacao(){ return situacao.toUpperCase(); }
}
//Classe Menu:
import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; public class Menu{ private List<Funcionarios> listaF = new ArrayList<>(); public Menu() { } public Menu(List<Funcionarios> listaF){ this.listaF=listaF; } public void addFuncionario(String nome, int idade, String situacao){ Funcionarios f = new Funcionarios(nome, idade, situacao); listaF.add(f); } public void addFunc(Funcionarios f){ listaF.add(f); } public void consultar(String nome){ for(int i = 0; i< listaF.size(); i++){ if(listaF.get(i).getNome().equalsIgnoreCase(nome)){ System.out.println("Nome: "+listaF.get(i).getNome()); System.out.println("Idade: "+listaF.get(i).getIdade()); System.out.println("Situacao: "+listaF.get(i).getSituacao()); } } } public void consulta(Menu listagem){ listaF.get(0); } public void listaCompleta(){ if(listaF != null){ for(int i = 0; i< listaF.size(); i++){ System.out.println("Nome: "+listaF.get(i).getNome()); System.out.println("Idade: "+listaF.get(i).getIdade()); System.out.println("Situacao: "+listaF.get(i).getSituacao()); } }else{ System.out.println("Banco de dados vazio, necessário cadastrar funcionários"); } } public void listaAtivos(){ for(int i = 0; i< listaF.size(); i++){ if(listaF.get(i).getSituacao().equalsIgnoreCase("ativo")){ System.out.println("Nome: "+listaF.get(i).getNome()); System.out.println("Idade: "+listaF.get(i).getIdade()); System.out.println("Situacao: "+listaF.get(i).getSituacao()); } } } public void listaPorIdades(){ List<Funcionarios> listaPorIdade = listaF.stream() .sorted(Comparator.comparing(Funcionarios::getIdade)) .collect(Collectors.toList()); for(int i = 0; i< listaPorIdade.size(); i++){ System.out.println("Nome: " + listaPorIdade.get(i).getNome()); System.out.println("Idade: " + listaPorIdade.get(i).getIdade()); System.out.println("Situacao: " + listaPorIdade.get(i).getSituacao()); } } }
//Classe Principal:
import java.util.Scanner;
public class SistemaProva {
public static void main(String[] args) { // TODO Auto-generated method stub Scanner ler = new Scanner(System.in); Menu m = new Menu(); String nome; int idade; String situacao; int op; System.out.println("Bem-Vindo(a) ao Sistema"); do{ System.out.println("\n\tMenu\n\n"); System.out.println("Digite a opção desejada:\n1: 1-Cadastrar Funcionário\n2: 2-Consultar Funcionário\n3: 3-Listagem Completa de Funcionários\n4: 4-Listagem de Funcionários Ativos\n5: 5-Listagem de Funcionários por Idade\n0: 10-Sair\n"); op=ler.nextInt(); if(op==1){ //int quantidade; System.out.println("Quantos funcionários tem na empresa?"); int quantidade[] = new int[quantidade]; //quantidade[quantidade] = quantidade; for (int i = 0; i < quantidade.length; i++) { System.out.println("\n\tCadastrar Funcionário:\n"); System.out.println("Nome: "); try{ nome=ler.next(); System.out.println("Idade: "); idade=ler.nextInt(); System.out.println("Situacao(Ativo ou Inativo): "); situacao=ler.next(); m.addFuncionario(nome, idade, situacao); }catch(Exception e){ System.out.println("Erro encontrado! Refaça!"); } } } if(op==2){ System.out.println("\n\tConsultar Funcionário:\n"); System.out.println("Qual o nome do funcionário que deseja consultar? "); try{ nome=ler.next(); m.consultar(nome); }catch(Exception e){ System.out.println("Erro encontrado! Refaça ou primeiro cadastre funcionários!"); } if(op==3){ System.out.println("\n\tListagem Completa de Funcionário:\n"); m.listaCompleta(); } if(op==4){ System.out.println("\n\tListagem de Funcionários Ativos:\n"); m.listaAtivos(); } if(op==5){ System.out.println("\n\tListagem de Funcionário por Idade:\n"); m.listaPorIdades(); } if(op==10){ System.out.printf("\nEncerrando Sistema!"); } }while(op!=0); ler.close(); }
}