Faça uma classe em JAVA que carregue uma matriz com as notas de cinco alunos em três provas. Lembre-se que essa quantidade de alunos e provas é uma suposição e que sua classe poderia ser alterada para funcionar com números muito maiores.
Cada nota digitada deve ser validada e as notas válidas estão entre 0 e 10. Sempre que uma nota inválida for digitada uma nova digitação deve ser solicitada.
Carregue também um vetor com o tipo de média (A ? Aritmética e P ? Ponderada). Lembre-se que cada aluno terá um tipo de média e que os tipos digitados devem ser validados e os tipos válidos são: A, a, P, p. Sempre que um tipo inválido for digitado uma nova digitação deve ser solicitada. Os pesos da média ponderada são: 2, 3 e 10.
Mostre:
a) O número de cada aluno (nº da linha ou da coluna), a média e a situação (aprovado ou reprovado, considerando para aprovação média de no mínimo 7)
b) A média de todos os alunos juntos em cada prova
c) A maior nota de cada aluno e em que prova aconteceu, DESCONSIDERAR empates.
d) A menor nota em cada prova e a que aluno pertence, CONSIDERAR empates.
o exercicio é esse e o código que eu fiz é este?só que qd da a média de todos os alunos juntos em cada prova ele da errado o q eu fiz de errado alguém pode me ajudar?
obrigado!
[code]import java.util.Scanner;
public class exx3 {
public static void main(String[] args) {
final int NUMERO_DE_ALUNOS = 5;
double nota[][] = new double[NUMERO_DE_ALUNOS][3];
String tipoMedia[] = new String[NUMERO_DE_ALUNOS];
double media[] = new double[NUMERO_DE_ALUNOS];
double mediaProva = 0;
double maiorNota = 0;
double menorNota = 0;
String donoMaiorNota = null;
String donoMenorNota = null;
Scanner dado = new Scanner(System.in);
for (int i = 0; i < NUMERO_DE_ALUNOS; i++) {
System.out.println("digite as notas dos alunos" + (i + 1));
for (int j = 0; j < 3; j++) {
System.out.println("notas da prova " + (j + 1));
nota[i][j] = dado.nextDouble();
while (nota[i][j] > 10 || nota[i][j] < 0) {
System.out.println("nota inválida");
System.out.println("digite novamente");
nota[i][j] = dado.nextDouble();
}
mediaProva = nota[i][j];
if (i == 0) {
maiorNota = nota[i][j];
menorNota = nota[i][j];
donoMaiorNota = "" + (i + 1);
donoMenorNota = "" + (i + 1);
} else {
if (maiorNota < nota[i][j]) {
maiorNota = nota[i][j];
donoMaiorNota = "" + (i + 1);
}
if (menorNota > nota[i][j]) {
menorNota = nota[i][j];
donoMenorNota = "" + (i + 1);
} else if (menorNota == nota[i][j]) {
donoMenorNota = donoMenorNota + "empatou com " + (i + 1);
}
}
}
do {
System.out.println("digite o tipo da média A-aritmédia e P-ponderada");
tipoMedia[i] = dado.next();
} while (!(tipoMedia[i].equalsIgnoreCase("p") || tipoMedia[i].equalsIgnoreCase("A")));
if (tipoMedia[i].equalsIgnoreCase("p")) {
media[i] = (nota[i][0] * 2 + nota[i][1] * 3 + nota[i][2] * 10) / 15;
System.out.println("a média foi " + media[i]);
System.out.println("media válida");
} else if (tipoMedia[i].equalsIgnoreCase("A")) {
media[i] = (nota[i][0] + nota[i][1] + nota[i][2]) / 3;
System.out.println("a média foi " + media[i]);
}
if (media[i] >= 7) {
System.out.println("aluno aprovado");
} else {
System.out.println("aluno reprovado");
}
}
System.out.println("\nDados das prova\n");
for (int i = 0; i < 3; i++) {
System.out.println("Media da prova "+(i+1)+" ="+ (mediaProva/NUMERO_DE_ALUNOS));
System.out.println("Maior nota da prova " + (i + 1) + " foi :" + maiorNota + " do aluno" + donoMaiorNota);
System.out.println("Menor nota da prova " + (i + 1) + " foi :" + menorNota + " do(s) aluno(s) " + donoMenorNota);
}
}
} [/code]