tf_fundamentos/Dados.java
2026-06-12 16:22:44 -03:00

173 lines
4.3 KiB
Java

public class Dados {
private Aluno[] alunos;
private String chamada;
private Acompanhamento[] acompanhamentos;
private Bolsista[] bolsistas;
public Dados(){
alunos = new Aluno[]{};
chamada = "";
acompanhamentos = new Acompanhamento[]{};
bolsistas = new Bolsista[]{};
}
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;
}
public void appendAcompanhamento(Acompanhamento acomp){
int size = this.acompanhamentos.length;
Acompanhamento[] novoArray = new Acompanhamento[size + 1];
for (int i = 0; i < size; i++){
novoArray[i] = this.acompanhamentos[i];
}
novoArray[size] = acomp;
this.acompanhamentos = novoArray;
}
public void appendBolsista(Bolsista bolsista){
}
private int findAlunoIndex(String nome){
for (int i = 0; i < alunos.length; i++){
if (nome.equals(alunos[i].getNome()))
return i;
}
return -1;
}
public Aluno findAluno(String nome){
return alunos[findAlunoIndex(nome)];
}
public Acompanhamento findAcompanhamento(String nome){
for (int i = 0; i < acompanhamentos.length; i++){
if (acompanhamentos[i].getAluno().getNome().equals(nome)) {
return acompanhamentos[i];
}
}
return null;
}
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 riskReport(){
String relatorio = "";
for (int i = 0; i < acompanhamentos.length; i++){
relatorio = relatorio.concat(acompanhamentos[i].getAluno().getNome() + ": Risco ");
relatorio = relatorio.concat(acompanhamentos[i].getRiscoLabel() + "\n");
}
System.out.println(relatorio);
}
public void riskReportHigh(){
String relatorio = "";
for (int i = 0; i < acompanhamentos.length; i++){
if (acompanhamentos[i].getRiscoLabel().equals("ALTO")){
relatorio = relatorio.concat(acompanhamentos[i].getAluno().getNome() + ": Risco ALTO\n");
}
}
System.out.println(relatorio);
}
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(){
int sum = 0;
for (int k = 0; k < alunos.length; k++){
String nome = alunos[k].getNome();
for (int j = 0; j < nome.length(); j++){
if (isVowel(nome.charAt(j))){
sum++;}
}
}
return sum;
}
private boolean isVowel(char a){
return (a == 'a') || (a == 'e') || (a == 'i') || (a == 'o') || (a == 'u');
}
public void makeChamada(){
this.chamada = "";
for (int i = 0; i < alunos.length; i++){
this.chamada = this.chamada.concat(alunos[i].getMatricula() + " / ");
this.chamada = this.chamada.concat(alunos[i].getNome() + " / ");
this.chamada = this.chamada.concat(alunos[i].getCurso() + "\n");
}
}
public void printChamada(){
System.out.println(chamada);
}
public double coursePercent(String curso){
double num = 0;
for (int i = 0; i < alunos.length; i++){
if (alunos[i].getCurso().equals(curso))
num++;
}
return (num / alunos.length) * 100;
}
}