Segue o código do programa que fiz para cálculo de notas.
[code]
/* Notas_Alunos
@author Raphael Santana Carvalho */
import javax.swing.JOptionPane; // classe JOptionPane
public class Notas_Alunos {
public static void main(String args[]) {
JOptionPane.showMessageDialog(null, "Calcule a Média dos Alunos (Versão 0.2)! \n\n Criado por: Raphael S.Carvalho.");
String msg_erro = ("O programa foi encerrado.");
int aluno = 0;
try {
while (aluno <= 0) {
aluno = Integer.parseInt(JOptionPane.showInputDialog("Quantos alunos há na sala?"));
if (aluno <= 0) {
JOptionPane.showMessageDialog(null, "São validos apenas valores maiores que [0]!");
}
} // fim do while.
}
catch(NumberFormatException ex) {
JOptionPane.showMessageDialog(null, msg_erro, "Erro", JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
double prova = 0;
try {
while (prova <= 0) {
prova = Double.parseDouble(JOptionPane.showInputDialog("Favor informar a pontuação máxima \npara as notas dos alunos:"));
if (prova <= 0) {
JOptionPane.showMessageDialog(null, "São validos apenas valores maiores que [0]!");
}
} // fim do while.
}
catch(NumberFormatException ex) {
JOptionPane.showMessageDialog(null, msg_erro, "Erro", JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
int id_aluno;
double nota_aluno = 0;
double menor_nota=prova, maior_nota=0;
double media = 0;
try {
while (nota_aluno <= 0 || nota_aluno > prova) {
for (id_aluno=1; id_aluno <= aluno; id_aluno++) {
String texto_aluno = JOptionPane.showInputDialog("Digite a nota do aluno "+id_aluno+":");
nota_aluno = Double.parseDouble(texto_aluno);
if (nota_aluno <= 0 nota_aluno > prova) {
JOptionPane.showMessageDialog(null, "São validos apenas valores maiores que [0] e menor ou igual a ["+prova+"]!");
}
media += nota_aluno;
if (nota_aluno > maior_nota) {
maior_nota = nota_aluno;
}
if (nota_aluno < menor_nota) {
menor_nota = nota_aluno;
}
} // fim do for.
} // fim do while.
}
catch(NumberFormatException ex) {
JOptionPane.showMessageDialog(null, msg_erro, "Erro", JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
catch(NullPointerException ex) {
JOptionPane.showMessageDialog(null, msg_erro, "Erro", JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
media = media/aluno; // calcula a média com base nas notas dividido pelo número de alunos.
JOptionPane.showMessageDialog(null, "A sala tem: "+aluno+" alunos. \n E a média dos alunos é: "+media+". \n\n A maior nota é: "+maior_nota+". \n A menor nota é: "+menor_nota+".");
} // fim do metódo.
} // fim do programa.[/code]