Média da turma ( vetores)

3 respostas
M

Boa noite

Gostaria de resolver este exercício, e nao sei tambem se o codigo que fiz esta de acordo com o que o exercício pede.

//Receber por digitação as 3 notas de cada um dos 15 alunos de uma turma de Matemática, calcular a média de cada um, armazenando cada média num vetor. Em seguida calcular:
// média da turma
// quantos alunos  tiveram média acima da média da turma

import java.io.*; 
class vetor3 { 
public static void main(String args[])
{ 
float notas [] = new float[3];
float calc_media, soma_notas;
int contador = i;
contador = 0;

for (int i=0; i<=4; i++);
notas [i] = Float.parseFloat(JoptionPane.showinputDialog(null,"digite a "+i+" nota 1"));
soma_notas = soma_notas + notas [i];
for (int i = 0; i<=4; i++);
if (notas[i] >= calc_media);
contador = 1++;

JOptionPane.showMessageDialog(null, "A media geral da turma é " calc_media "\n" +
                                    contador + "Alunos ficaram com nota mais a média"));


}    
}

Deu apenas 1 erro de sintaxe na penultima linha na parte
JOptionPane.showMessageDialog(null, "A media geral da turma é " calc_media “\n” +
que não consegui achar.
Se alguem puder ajudar Vlw

3 Respostas

T

o erro de sintaxe pode ser por que esta faltando + antes e depois da variavel calc_media

se o exercicio pede a nota de 15 alunos , nao deveria ter um loop de 1 a 15 para os alunos ?

S

Fala ai metalmassacre2 blz? cara eu acho que faltou concatenar.
tenta fazer isso.
JOptionPane.showMessageDialog(null, "A media geral da turma é " + calc_media + “\n” +
contador + “Alunos ficaram com nota mais a média”

fjvasconcellos

E ai metalmassacre2, blz?

Oque a galera falou ai ta certo, faltou concatenar a a String no JOptionPane.

Vc poderia fazer um codigo orientado a objeto, mais como o exercicio é simples ta de boah..

Eu dei uma melhorada no seu codigo..

Criei uma Classe Aluno:
public class Aluno {

    private float mediaNotas,  nota1,  nota2,  nota3;

    public Aluno(float nota1, float nota2, float nota3) {
        this.nota1 = nota1;
        this.nota2 = nota2;
        this.nota3 = nota3;
        calculaMedia();
    }

    private void calculaMedia() {
        mediaNotas = (nota1 + nota2 + nota3) / 3;
    }

    public float getMediaAluno() {
        return mediaNotas;
    }
}
E uma classe para fazer as operações da turma.
mport javax.swing.*;

public class CalculaMedia {

    private int numeroAlunos,  alunosAcimaDaMedia;
    private float mediaTurma;
    private Aluno[] turma;

    public CalculaMedia(int numeroAlunos) {
        this.numeroAlunos = numeroAlunos;
        turma = new Aluno[numeroAlunos];
    }

    public void adquiriNotasDosAlunos() {
        float n1, n2, n3;

        for (int i = 0; i < this.numeroAlunos; i++) {
            n1 = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite a nota 1 do aluno " + (i + 1) + "!"));
            n2 = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite a nota 2 do aluno " + (i + 1) + "!"));
            n3 = Float.parseFloat(JOptionPane.showInputDialog(null, "Digite a nota 3 do aluno " + (i + 1) + "!"));
            turma[i] = new Aluno(n1, n2, n3);
        }

        calcularMedia();
        calcularAlunosAcimaDaMedia();
    }

    private void calcularMedia() {
        float aux = 0;
        for (int i = 0; i < numeroAlunos; i++) {
            aux = aux + turma[i].getMediaAluno();
        }
        mediaTurma = aux / numeroAlunos;
    }

    private void calcularAlunosAcimaDaMedia() {
        alunosAcimaDaMedia = 0;
        for (int i = 0; i < numeroAlunos; i++) {
            if (turma[i].getMediaAluno() > mediaTurma) {
                alunosAcimaDaMedia++;
            }
        }
    }

    public void mostrarResultadoTurma() {
        JOptionPane.showMessageDialog(null, "A média da turma foi: " + mediaTurma + "" +
                "\nA quantidade de alunos com nota acima da média foi: " + alunosAcimaDaMedia,
                "Informação da Turma", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void main(String[] args) {

        int numeroAlunos = Integer.parseInt(JOptionPane.showInputDialog(null, "Enre com o numero de alunos da Sala!!"));

        CalculaMedia m = new CalculaMedia(numeroAlunos);
        m.adquiriNotasDosAlunos();
        m.mostrarResultadoTurma();
    }
}

Assim, está mais orientado a objeto, e dinamico para numero de alunos da sala..
Não precisava disso tudo, mais aorientando o codigo a objeto agente vai pegando a prática.
Flws cara... espero ter ajudado!!

Criado 14 de setembro de 2008
Ultima resposta 15 de set. de 2008
Respostas 3
Participantes 4