package projectojava;
import java.util.Scanner;
import projectojava.modules.Estudante;
import projectojava.repositories.EstudanteRepositorio;
public class Start {
public static Scanner teclado = new Scanner(System.in);
public static int escolha;
private static void getMenu() {
System.out.println("1- Inserir Aluno");
System.out.println("2- Consultar Aluno");
System.out.println("3- Listar ALuno");
System.out.println("4- Sair \n");
System.out.println("Escolha uma opção de acordo ao Menu");
escolha = teclado.nextInt();
teclado.nextLine();
}
private static void inserirAluno() {
System.out.println("Insira o nome do Aluno");
String nome = teclado.nextLine();
System.out.println("Insira a idade do Aluno");
int idade = teclado.nextInt();
System.out.println("Insira o número do Aluno");
int numero = teclado.nextInt();
Estudante novoAluno = new Estudante(nome,idade,numero);
try {
EstudanteRepositorio.inserirAluno(novoAluno);
}
catch (Exception e) {
System.out.println("Ocorreu algum erro ao inserir o aluno " + e.getMessage());
}
}
private static void consultar() {
System.out.println("Insira um o numero do aluno que pretende consultar");
int numeroPesquisa = teclado.nextInt();
try {
Estudante estudanteEncontrado = EstudanteRepositorio.consultarEstudante(numeroPesquisa);
if(estudanteEncontrado != null) {
System.out.println("Resultado da Pesquisa:");
System.out.println("Número: " + estudanteEncontrado.getNumeroAluno() + " " + "Nome: " + estudanteEncontrado.getNome() + " " + "Idade: " + estudanteEncontrado.getIdade() + "\n\n");
}else {
System.out.println("Resultado da Pesquisa:");
System.out.println("Lamentamos! Não foi encontrado algum Aluno com o número informado. \n\n");
}
} catch (Exception e) {
System.out.println("Acorreu algum erro na consulta do estudante " + e.getMessage());
}
}
private static void Listar() {
try {
EstudanteRepositorio.listaAluno();
} catch (Exception e) {
System.out.println("Ocorreu algum erro na listagem dos dados do ficheiro " + e.getMessage());
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
do {
getMenu();
switch (escolha) {
case 1:
inserirAluno();
break;
case 2:
consultar();
break;
case 3:
Listar();
break;
case 4:
System.out.print("Até mais....");
System.exit(0);
break;
default:
System.out.println("A opção selecionada não existe. Por favor escolha uma opcao no menu.");
}
} while (true);
}
}
public class Estudante {
private String nome;
private int idade;
private int numeroAluno;
public Estudante() {
}
public Estudante(String nome, int idade, int numeroAluno) {
this.nome = nome;
this.idade = idade;
this.numeroAluno = numeroAluno;
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return this.idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public int getNumeroAluno() {
return this.numeroAluno;
}
public void setNumeroAluno(int numeroAluno) {
this.numeroAluno = numeroAluno;
}
public int tamanho() {
return this.nome.length();
}
public void imprimirDados() {
System.out.println("Nome: " + this.nome );
System.out.println("Idade: " + this.idade );
System.out.println("Número do Aluno: " + this.numeroAluno );
}
}
package projectojava.repositories;
/**
*
* @author Braulio Pedro
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import projectojava.modules.Estudante;
public class EstudanteRepositorio {
private static ArrayList<Estudante> todosEstudante= new ArrayList<Estudante>();
final static String FICHEIRO_BASE_DADOS = "Cliente.cov";
final static String SEPARADOR = ";";
public static boolean existeEstudante(Estudante novoAluno) throws Exception {
boolean existe = false;
FileReader reader = new FileReader(FICHEIRO_BASE_DADOS);
BufferedReader br = new BufferedReader(reader);
while (br.ready()) {
String[] propriedades = br.readLine().split(SEPARADOR);
if (Integer.parseInt(propriedades[0]) == novoAluno.getNumeroAluno()) {
existe = true;
break;
}
}
br.close();
return existe;
}
public static void inserirAluno(Estudante novoAluno) throws Exception {
//cria um ficheiro se não existe
File ficheiro = new File(FICHEIRO_BASE_DADOS);
ficheiro.createNewFile();
if (!existeEstudante(novoAluno)) {
StringBuilder str = new StringBuilder();
str.append(novoAluno.getNumeroAluno());
str.append(SEPARADOR);
str.append(novoAluno.getNome());
str.append(SEPARADOR);
str.append(novoAluno.getIdade());
FileWriter writer = new FileWriter(FICHEIRO_BASE_DADOS, true);
BufferedWriter bw = new BufferedWriter(writer);
String conteudo = str.toString();
bw.write(conteudo);
bw.newLine();
bw.close();
System.out.println("Aluno inserido com sucesso! \n\n");
} else {
System.out.println("Já existe um Aluno com este número de isncrição no sistema! \n\n");
}
/*
* boolean jaExiste = false;
*
* for (Aluno aluno : todosAlunos) {
*
* if(aluno.getNumeroAluno() == novoAluno.getNumeroAluno()) { jaExiste = true; }
* }
*
* if(jaExiste) {
* System.out.println("Já existe um Aluno com o mesmo número! \n\n"); }else {
* todosAlunos.add(novoAluno);
* System.out.println("Aluno inserido com sucesso! \n\n"); }
*/
}
public static Estudante consultarEstudante(int numero) throws IOException {
Estudante estudanteaux = null;
FileReader reader = new FileReader(FICHEIRO_BASE_DADOS);
BufferedReader br = new BufferedReader(reader);
while (br.ready()) {
String[] propriedades = br.readLine().split(SEPARADOR);
int numeroAux = Integer.parseInt(propriedades[0]);
if (numeroAux == numero) {
String nome = propriedades[1];
int idade = Integer.parseInt(propriedades[2]);
estudanteaux = new Estudante(nome, idade, numeroAux);
break;
}
}
br.close();
/*
for (Aluno aluno : todosAlunos) {
if (aluno.getNumeroAluno() == numero) {
alunoaux = aluno;
}
}
*/
return estudanteaux;
}
public static void listaAluno() throws IOException {
FileReader reader = new FileReader(FICHEIRO_BASE_DADOS);
BufferedReader br = new BufferedReader(reader);
System.out.println("Lista Geral \n");
while (br.ready()) {
String[] propriedades = br.readLine().split(SEPARADOR);
System.out.println("Número: " + propriedades[0] + " " + "Nome: " + propriedades[1] + " "
+ "Idade: " + propriedades[2]);
}
br.close();
System.out.println("Lista Geral \n");
/*
System.out.println("Lista geral \n");
for (Aluno aluno : todosAlunos) {
System.out.println("Número: " + aluno.getNumeroAluno() + " " + "Nome: " + aluno.getNome() + " "
+ "Idade: " + aluno.getIdade());
}
*/
}
}