From 85aabf555ea393385f298520118061a65e5c4a72 Mon Sep 17 00:00:00 2001 From: caioperschespindola Date: Thu, 11 Jun 2026 18:53:59 -0300 Subject: [PATCH] gerenciador-rev --- Aluno.java | 4 +-- Bolsista.java | 4 +-- Dados.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++++ Gerenciador.java | 44 +++++++++++++++++++---- Menu.java | 9 ++--- Pessoa.java | 6 ++-- 6 files changed, 139 insertions(+), 21 deletions(-) diff --git a/Aluno.java b/Aluno.java index cd1681b..0a1908f 100644 --- a/Aluno.java +++ b/Aluno.java @@ -6,7 +6,7 @@ public class Aluno { private int ano; private boolean bolsista; - public Aluno(int nome, int idade, String localNascimento, String curso, String matricula, int semestre, int ano, boolean bolsista){ + public Aluno(String nome, int idade, String localNascimento, String curso, String matricula, int semestre, int ano, boolean bolsista){ this.pessoa = new Pessoa(nome, idade, localNascimento); this.curso = curso; this.matricula = matricula; @@ -15,7 +15,7 @@ public class Aluno { this.bolsista = bolsista; } - public int getNome(){ + public String getNome(){ return this.pessoa.getNome(); } diff --git a/Bolsista.java b/Bolsista.java index c3bc617..26f5048 100644 --- a/Bolsista.java +++ b/Bolsista.java @@ -3,13 +3,13 @@ public class Bolsista{ private String projeto; private String orientador; - public Bolsista(int nome, int idade, String localNascimento, String curso, String matricula, int semestre, int ano, boolean bolsista, String projeto, String orientador){ + public Bolsista(String nome, int idade, String localNascimento, String curso, String matricula, int semestre, int ano, boolean bolsista, String projeto, String orientador){ this.aluno = new Aluno(nome, idade, localNascimento, curso, matricula, semestre, ano, bolsista); this.projeto = projeto; this.orientador = orientador; } - public int getNome(){ + public String getNome(){ return this.aluno.getNome(); } diff --git a/Dados.java b/Dados.java index c9b48a2..15cccc7 100644 --- a/Dados.java +++ b/Dados.java @@ -1,2 +1,95 @@ public class Dados { + private Aluno[] alunos; + private String chamada; + + public Dados(){ + alunos = new Aluno[]{}; + chamada = ""; + } + + public void appendAluno(Aluno aluno){ + int size = this.alunos.length; + + Aluno[] novoArray = new Aluno[size + 1]; + + for (int i = 0; i < size; i++){ + novoArray[i] = this.alunos[i]; + } + + novoArray[size] = aluno; + this.alunos = novoArray; + } + + private int findAlunoIndex(String nome){ + for (int i = 0; i < alunos.length; i++){ + if (nome.equals(alunos[i].getNome())) + return i; + } + return -1; + } + + public void listAlunos(){ + for (int i = 0; i < alunos.length; i++){ + System.out.println(alunos[i].getNome()); + } + } + + public void listBolsistas(){ + for (int i = 0; i < alunos.length; i++){ + if (alunos[i].getBolsista()) + System.out.println(alunos[i].getNome()); + } + } + + public void maiorNome(){ + int k = 0; + for (int i = 1; i < alunos.length; i++){ + if (alunos[i].getNome().length() > alunos[k].getNome().length()) + k = i; + } + System.out.println(alunos[k].getNome()); + } + + public double averageAge(){ + double sum = 0; + + for (int i = 0; i < alunos.length; i++){ + sum += alunos[i].getIdade(); + } + + sum = sum / alunos.length; + return sum; + } + + public int totalVowels(){ + char[] vowels = new char[]{'a', 'e', 'i', 'o', 'u'}; + int sum = 0; + + for (int i = 0; i < vowels.length; i++){ + for (int k = 0; k < alunos.length; k++){ + + String nome = alunos[k].getNome(); + + for (int j = 0; j < nome.length(); j++){ + if (nome.charAt(j) == vowels[i]){ + sum++;} + } + } + } + + return sum; + } + + public void makeChamada(){ + this.chamada = ""; + for (int i = 0; i < alunos.length; i++){ + this.chamada.concat(alunos[i].getMatricula() + " / "); + this.chamada.concat(alunos[i].getNome() + " / "); + this.chamada.concat(alunos[i].getCurso() + "/n"); + } + } + + public void printChamada(){ + System.out.println(chamada); + } } diff --git a/Gerenciador.java b/Gerenciador.java index 76612c8..627c1b7 100644 --- a/Gerenciador.java +++ b/Gerenciador.java @@ -1,12 +1,40 @@ +import java.util.Scanner; + public class Gerenciador { private Dados dados; + private static Scanner input = new Scanner(System.in); + String nome, local, curso, matricula, projeto, orientador; + int idade, semestre, ano; + boolean bolsista; public Gerenciador(Dados dados) { this.dados = dados; } public void cadastrarAluno() { + System.out.println("Insira o nome do aluno:"); + nome = input.nextLine(); + System.out.println("Insira o local de nascimento do aluno:"); + local = input.nextLine(); + + System.out.println("Insira o curso do aluno:"); + curso = input.nextLine(); + + System.out.println("Insira a matricula do aluno:"); + matricula = input.nextLine(); + + System.out.println("Insira a idade do aluno:"); + idade = input.nextInt(); + + System.out.println("Insira o semestre do aluno:"); + semestre = input.nextInt(); + + System.out.println("Insira o ano do aluno:"); + ano = input.nextInt(); + + Aluno aluno = new Aluno(nome, idade, local, curso, matricula, semestre, ano, bolsista); // Adicionar opção de bolsista + this.dados.appendAluno(aluno); } public void cadastrarBolsista() { @@ -17,18 +45,19 @@ public class Gerenciador { } public void listarAlunos() { - + this.dados.listAlunos(); } public void listarBolsistas() { + this.dados.listBolsistas(); } - public void maiorNome() { - + public void maiorNome(){ + this.dados.maiorNome(); } - public void vogaisNomes() { - + public void vogaisNomes(){ + System.out.println("Numero total de vogais: " + this.dados.totalVowels()); } public void percentualAlunos() { @@ -36,14 +65,15 @@ public class Gerenciador { } public void mediaIdadeAlunos() { + System.out.println("Idade média dos alunos: " + this.dados.averageAge()); } public void criarChamada() { - + this.dados.makeChamada(); } public void chamada() { - + this.dados.printChamada(); } public void calcularRisco() { diff --git a/Menu.java b/Menu.java index 41fd49f..0aa5299 100644 --- a/Menu.java +++ b/Menu.java @@ -7,12 +7,12 @@ public class Menu { private static Dados dados; private static Gerenciador gerenciador; + private static Scanner input = new Scanner(System.in); public static void main(String[] args) { dados = new Dados(); gerenciador = new Gerenciador(dados); - Scanner input = new Scanner(System.in); while (true) { System.out.println( "Escolha uma opcao:" + "\n" + @@ -37,13 +37,8 @@ public class Menu { } public static void prompt(int option) { + switch (option) { - - // passar parametros - - // String nome,int idade,String local, String curso, String matricula,int - // semestre,int ano ,bool bolsista, String projeto, String orientador - case 1: gerenciador.cadastrarAluno(); // completar com o nome correto das gerenciadores break; diff --git a/Pessoa.java b/Pessoa.java index b341dc6..ba2a97e 100644 --- a/Pessoa.java +++ b/Pessoa.java @@ -1,15 +1,15 @@ public class Pessoa{ - private int nome; + private String nome; private int idade; private String localNascimento; - public Pessoa(int nome, int idade, String localNascimento){ + public Pessoa(String nome, int idade, String localNascimento){ this.nome = nome; this.idade = idade; this.localNascimento = localNascimento; } - public int getNome(){ + public String getNome(){ return this.nome; }