Olá! Estou atualmente estudando estrutura de dados (pilha especificamente) e estou fazendo um programa que lê algumas notas de alunos e então os coloca em duas pilhas diferentes: aprovado ou reprovado. No final, eu tenho que desempilhar isso e mostrar todos os alunos, dizendo seus nomes, suas médias e se foram reprovados e aprovados.
package com.faculdade.estruturaDaPilha.pilha;
import java.util.Scanner;
public class Exer02 {
public static void main(String[] args) {
Pilha<Integer> aprovados = new Pilha<Integer>();
Pilha<Integer> reprovados = new Pilha<Integer>();
Scanner scan = new Scanner(System.in);
String[] aluno = new String[3];
double[][] notas = new double[3][3];
int soma = 0, media;
int contAlunos = 0, contNotas = 0;
// Obtém Nome e Notas
do {
System.out.print("\nNome: ");
aluno[contAlunos] = new Scanner(System.in).nextLine();
while (contNotas < 3) {
System.out.print("Nota " + (contNotas + 1) + ": ");
notas[contAlunos][contNotas] = new Scanner(System.in).nextDouble();
contNotas++;
}
contNotas = 0;
contAlunos++;
} while (contAlunos < aluno.length);
// Mostra Relatório
for (int i = 0; i < aluno.length; i++) {
System.out.println("\nAluno: " + aluno[i]);
while (contNotas < 3) {
System.out.println("Notas: " + notas[i][contNotas]);
soma += notas[i][contNotas];
contNotas++;
}
media = soma / 3;
System.out.println("Média: " + media);
contNotas = 0;
soma = 0;
if (media > 60) {
System.out.printf("o aluno %s foi aprovado com a média %d", aluno[i], media);
aprovados.empilha(media);
} else {
System.out.printf("o aluno %s foi reprovado com a média %d", aluno[i], media);
reprovados.empilha(media);
}
}
System.out.println("Desempilhando todos os aprovados ");
while (!aprovados.estaVazia()) {
System.out.println("Desempilhando aprovados: " + aprovados.desempilha());
}
System.out.println("Desempilhando todos os reprovados");
while (!reprovados.estaVazia()) {
System.out.println("Desempilhando reprovados: " + reprovados.desempilha());
}
}
}
O código está funcionando corretamente até certo ponto, pois no final, onde diz “desempilhando todos os aprovados”, eu preciso reutilizar o “aluno[i]” para mostrar o nome dos alunos e suas médias respectivamente como se fosse uma lista de aprovados e reprovados, porém não consigo pensar em como fazer isso…