0
Full Project Github Repository
/*a human resources company specialising in market relocations (job vacancies), calls for the creation of a system to computerize its actions. Thus, she wants to register the candidates with her name (String) and age (int). Applicants may be unemployed, who have the time in months (int) who does not work or employees, who has the company name (String), where it is currently. Vacancies have the description (String) and salary offered (double). Vacancies can be internship, that in time in months (int) or contract, that may be temporary or not (Boolean). Create a Java program to register unemployed or employed candidates) and register vacancies (internship or contract). The system should be able to register candidates for vacancies. Create a class to create the HR company (main). In this class there should be a menu to register candidates, register vacancies, register candidate x vacancy, listings by type, show number of candidates and their situation and candidates x vacancy. Author: Matheus Vilela Diniz Maia Main Empresarh */https://github.com/matigous/RhJob
import java.util.Scanner;
import java.util.ArrayList;
public class EmpresaRH {
public static void main(String[] args) {
Scanner readNum = new Scanner(System.in);
Scanner readStr = new Scanner(System.in);
String ok = "";
ArrayList<CandidatoEmpregado> candidatoEmpregado = new ArrayList<CandidatoEmpregado>();
ArrayList<CandidatoDesempregado> candidatoDesempregado = new ArrayList<CandidatoDesempregado>();
ArrayList<VagaEstagio> vagaEstagio = new ArrayList<VagaEstagio>();
ArrayList<VagaContrato> vagaContrato = new ArrayList<VagaContrato>();
ArrayList<CandidatoEmpregado_VagaEstagio> candidatoEmpregado_vagaEstagio_Obj = new ArrayList<CandidatoEmpregado_VagaEstagio>();
ArrayList<CandidatoEmpregado_VagaContrato> candidatoEmpregado_vagaContrato_Obj = new ArrayList<CandidatoEmpregado_VagaContrato>();
ArrayList<CandidatoDesempregado_VagaEstagio> candidatoDesempregado_vagaEstagio_Obj = new ArrayList<CandidatoDesempregado_VagaEstagio>();
ArrayList<CandidatoDesempregado_VagaContrato> candidatoDesempregado_vagaContrato_Obj = new ArrayList<CandidatoDesempregado_VagaContrato>();
do {
System.out.printf(
"\nCadastrar Candidato (1) / Cadastrar Vaga (2) / Cadastrar Candidato x Vaga (3) / Listar Vagas p/ Tipo (4) / Qt de Cadidatos e Situacao (5) / Cadidato p/ Vaga (6): ");
switch (readNum.nextInt()) {
case 1: /* cadastrar candidatos */
System.out.printf("\nEmpregado (1) / Desempregado (2): ");
int estado = readNum.nextInt();
System.out.printf("Nome Candidato: ");
String nome = readStr.nextLine();
System.out.printf("Idade Candidato: ");
int idade = readNum.nextInt();
if (estado == 1) {
System.out.printf("Empresa Atual: ");
String empresaAtual = readStr.nextLine();
candidatoEmpregado.add(new CandidatoEmpregado(nome, idade, empresaAtual));
} else if (estado == 2) {
System.out.printf("Tempo desempregado: ");
int mesesSemTrabalho = readNum.nextInt();
candidatoDesempregado.add(new CandidatoDesempregado(nome, idade, mesesSemTrabalho));
} else {
System.out.println("Escolha Invalida! ");
break;
}
break;
case 2: /* cadastrar vagas */
System.out.printf("\nVaga Estagio (1) / Vaga Contrato (2): ");
int estado2 = readNum.nextInt();
System.out.printf("Descricao da Vaga: ");
String descricao = readStr.nextLine();
System.out.printf("Salario da Vaga: ");
double salario = readNum.nextDouble();
if (estado2 == 1) {
System.out.printf("Duracao (meses): ");
int tempoMes = readNum.nextInt();
vagaEstagio.add(new VagaEstagio(descricao, salario, tempoMes));
} else if (estado2 == 2) {
System.out.printf("Eh temporaria (Sim > (1)) (Nao > (0)): ");
boolean ehTemporario = (readNum.nextInt() == 1) ? true : false;
vagaContrato.add(new VagaContrato(descricao, salario, ehTemporario));
} else {
System.out.println("Escolha Invalida! ");
break;
}
break;
case 3: /* cadastrar candidato x vaga */
System.out.printf("\nCadastrar Cand. Empregado (1) ou Desempregado (2) p/ a Vaga: ");
int escolha1 = readNum.nextInt();
// Empregado
if (escolha1 == 1) {
for (int i = 0; i < candidatoEmpregado.size(); i++) {
System.out.printf("(Cadiadato Empregado (" + (i + 1) + ") nome: "
+ candidatoEmpregado.get(i).getNome() + ") ");
}
System.out.printf("\nEscolha o n do Candidato: ");
int numeroCandidatoEmpregado = readNum.nextInt();
System.out.printf("Cadastrar p/ Estagio (1) ou Contrato (2): ");
int escolha2 = readNum.nextInt();
/* Estagio */
if (escolha2 == 1) {
for (int i = 0; i < vagaEstagio.size(); i++) {
System.out.printf("(Vaga Estagio (" + (i + 1) + ") nome: "
+ vagaEstagio.get(i).getDescricao() + ") ");
}
System.out.printf("\nEscolha o n da Vaga: ");
int numeroVagaEstagio = readNum.nextInt();
candidatoEmpregado_vagaEstagio_Obj.add(
new CandidatoEmpregado_VagaEstagio(candidatoEmpregado.get(numeroCandidatoEmpregado - 1),
vagaEstagio.get(numeroVagaEstagio - 1)));
} /* Contrato */ else if (escolha2 == 2) {
for (int i = 0; i < vagaContrato.size(); i++) {
System.out.printf("(Vaga Contrato (" + (i + 1) + ") nome: "
+ vagaContrato.get(i).getDescricao() + ") ");
}
System.out.printf("\nEscolha o n da Vaga: ");
int numeroVagaContrato = readNum.nextInt();
candidatoEmpregado_vagaContrato_Obj.add(new CandidatoEmpregado_VagaContrato(
candidatoEmpregado.get(numeroCandidatoEmpregado - 1),
vagaContrato.get(numeroVagaContrato - 1)));
} else {
System.out.println("Escolha Invalida! ");
break;
}
// Desempregado
} else if (escolha1 == 2) {
for (int i = 0; i < candidatoDesempregado.size(); i++) {
System.out.printf("(Cadiadato Desempregado (" + (i + 1) + ") nome: "
+ candidatoDesempregado.get(i).getNome() + ") ");
}
System.out.printf("\nEscolha o n do Candidato: ");
int numeroCandidatoDesempregado = readNum.nextInt();
System.out.printf("Cadastrar p/ Estagio (1) ou Contrato (2): ");
int escolha3 = readNum.nextInt();
/* Estagio */
if (escolha3 == 1) {
for (int i = 0; i < vagaEstagio.size(); i++) {
System.out.printf("(Vaga Estagio (" + (i + 1) + ") nome: "
+ vagaEstagio.get(i).getDescricao() + ") ");
}
System.out.printf("\nEscolha o n da Vaga: ");
int numeroVagaEstagio = readNum.nextInt();
candidatoDesempregado_vagaEstagio_Obj.add(new CandidatoDesempregado_VagaEstagio(
candidatoDesempregado.get(numeroCandidatoDesempregado - 1),
vagaEstagio.get(numeroVagaEstagio - 1)));
} /* Contrato */ else if (escolha3 == 2) {
for (int i = 0; i < vagaContrato.size(); i++) {
System.out.printf("(Vaga Contrato (" + (i + 1) + ") nome: "
+ vagaContrato.get(i).getDescricao() + ") ");
}
System.out.printf("\nEscolha o n da Vaga: ");
int numeroVagaContrato = readNum.nextInt();
candidatoDesempregado_vagaContrato_Obj.add(new CandidatoDesempregado_VagaContrato(
candidatoDesempregado.get(numeroCandidatoDesempregado - 1),
vagaContrato.get(numeroVagaContrato - 1)));
} else {
System.out.println("Escolha Invalida! ");
break;
}
} else {
System.out.println("Escolha Invalida! ");
break;
}
break;
case 4: /* listar vagas por tipo */
System.out.print("\nVaga Estagio (1) / Vaga Contrato (2): ");
int escolha4 = readNum.nextInt();
if (escolha4 == 1) {
for (int i = 0; i < vagaEstagio.size(); i++) {
System.out.printf(
"(Vaga Estagio (" + (i + 1) + ") nome: " + vagaEstagio.get(i).getDescricao() + ") \n");
}
} else if (escolha4 == 2) {
for (int i = 0; i < vagaContrato.size(); i++) {
System.out.printf(
"(Vaga Contrato (" + (i + 1) + ") nome: " + vagaContrato.get(i).getDescricao() + ") ");
}
} else {
System.out.println("Escolha Invalida! ");
break;
}
break;
case 5: /* mostrar quantidade de candidatos e sua situação */
for (int i = 0; i < candidatoEmpregado.size(); i++) {
System.out.printf("\n(Cadiadato Empregado " + (i + 1) + " > nome: "
+ candidatoEmpregado.get(i).getNome() + ") ");
}
for (int i = 0; i < candidatoDesempregado.size(); i++) {
System.out.printf("\n(Cadiadato Desempregado " + (i + 1) + " > nome: "
+ candidatoDesempregado.get(i).getNome() + ") ");
}
break;
case 6: /* Candidato por Vaga */
if (candidatoEmpregado_vagaEstagio_Obj.size() > 0) {
for (int i = 0; i < candidatoEmpregado_vagaEstagio_Obj.size(); i++) {
System.out.printf("\n"+candidatoEmpregado_vagaEstagio_Obj.get(i));
}
}
if (candidatoDesempregado_vagaEstagio_Obj.size() > 0) {
for (int i = 0; i < candidatoDesempregado_vagaEstagio_Obj.size(); i++) {
System.out.printf("\n"+candidatoDesempregado_vagaEstagio_Obj.get(i));
}
}
if (candidatoEmpregado_vagaContrato_Obj.size() > 0) {
for (int i = 0; i < candidatoEmpregado_vagaContrato_Obj.size(); i++) {
System.out.printf("\n"+candidatoEmpregado_vagaContrato_Obj.get(i));
}
}
if (candidatoDesempregado_vagaContrato_Obj.size() > 0) {
for (int i = 0; i < candidatoDesempregado_vagaContrato_Obj.size(); i++) {
System.out.printf("\n"+candidatoDesempregado_vagaContrato_Obj.get(i));
}
}
System.out.println();
break;
default:
System.out.println("Error!");
}
System.out.println();
System.out.printf("Continuar (Y/N): ");
ok = readStr.nextLine();
System.out.println();
} while (ok.equalsIgnoreCase("Y"));
}
}
What is the point of writing the data into a file and reading it from a file? If you want to have data persistence the best would be to use a database.
– MauroAlmeida
I agree that using BD is better, but my teacher wants persistence in a text file.
– Matheus Magno
Then you have to define how you will store the information in the file. If each line in the file is an Arraylist input and each element is separated by comma or other separator as desired. Then to read the file and popular Arraylist must use the opposite process.
– MauroAlmeida