Olá pessoal, tudo bem ?
Peguei um exercício em java que faz chamada de métodos em uma classe principal.
Um dos métodos exigidos pede que receba 3 notas e descarte a menor, sendo a media as outras duas notas.
Porém não está calculando a média corretamente.
Ex. Insiro as notas 8 3 8 e ele me da a média 12.
Classe aluno.java
package ProjetoLIVRO1;
/**
*
@author jose_ */ public class Aluno { long matricula; String nome, disciplina,mensagem; //Declaração de variaveis int numeroAulas, numeroFaltas; double notaAv1,notaAv2,notaAv3,media,limiteFaltas;public Aluno () //Método desparametrizad
{} //Métodos set e get public void setMatricula(long matricula) { this.matricula = matricula; }public long getMatricula() { return matricula; }public void setNome(String nome) { this.nome = nome; }public String getNome() { return nome; }public void setDisciplina(String disciplina) { this.disciplina = disciplina; }public String getDisciplina() { return disciplina; }public void setNumeroAulas(int numeroAulas) { this.numeroAulas = numeroAulas; }public int getNumeroAulas() { return numeroAulas; }public void setNumeroFaltas(int numeroFaltas) { this.numeroFaltas = numeroFaltas; }public int getNumeroFaltas() { return numeroFaltas; }public void setNotaAv1(double notaAv1) { this.notaAv1 = notaAv1; }public double getNotaAv1() {
return notaAv1;} public void setNotaAv2(double notaAv2) { this.notaAv2 = notaAv2; }public double getNotaAv2() {
return notaAv2;} public void setNotaAv3(double notaAv3) { this.notaAv3 = notaAv3; }public double getNotaAv3() {
return notaAv3;}
public double calcularMedia() { if (notaAv1<notaAv2 && notaAv1<notaAv3) { media = notaAv2+notaAv3/2; } else if (notaAv2<notaAv1 && notaAv2<notaAv3) { media = notaAv1+notaAv3/2; } else { media = notaAv1+notaAv2/2; }return media;}
public double calcularLimiteFaltas() { limiteFaltas = numeroAulas*25/100; return limiteFaltas; } public String verificarSituacao() {if(media>=6 && numeroFaltas<=limiteFaltas) { mensagem ="Aluno APROVADO"; } else { mensagem ="Aluno REPROVADO"; } return mensagem;}
}
classe principal que chama os métodos
teste.java
package ProjetoLIVRO1;
import javax.swing.JOptionPane;/**
*
@author jose_ */ public class Teste { public static void main(String[]args) { Aluno aluno = new Aluno();aluno.setMatricula(Long.parseLong(JOptionPane.showInputDialog(“Digite a matricula:”))); aluno.setNome(JOptionPane.showInputDialog(“Digite o nome:”)); aluno.setDisciplina(JOptionPane.showInputDialog(“Digite a disciplina:”)); aluno.setNumeroAulas(Integer.parseInt(JOptionPane.showInputDialog(“Digite o número de aulas:”))); aluno.setNumeroFaltas(Integer.parseInt(JOptionPane.showInputDialog(“Digite o número de faltas:”))); aluno.setNotaAv1(Double.parseDouble(JOptionPane.showInputDialog(“Digite a nota da Av1:”))); aluno.setNotaAv2(Double.parseDouble(JOptionPane.showInputDialog(“Digite a nota da Av2:”))); aluno.setNotaAv3(Double.parseDouble(JOptionPane.showInputDialog(“Digite a nota da Av3:”))); JOptionPane.showMessageDialog(null,“Dados do aluno:\n” + “\t - Matricula: “+aluno.getMatricula()+”\n” + “\t - Nome: “+aluno.getNome()+”\n” + “\t - Disciplina: “+aluno.getDisciplina()+”\n” + “\t - Número de aulas: “+aluno.getNumeroAulas()+”\n” + “\t - Número de faltas: “+aluno.getNumeroFaltas()+”\n” + “\t - Nota AV1: “+aluno.getNotaAv1()+”\n” + “\t - Nota AV2: “+aluno.getNotaAv2()+”\n” + “\t - Nota AV3: “+aluno.getNotaAv3()+”\n” + "\t - Limite de Faltas: "+aluno.calcularLimiteFaltas()); JOptionPane.showMessageDialog(null, "Sua média é: "+aluno.calcularMedia()); JOptionPane.showMessageDialog(null,“O Aluno foi “+aluno.verificarSituacao()); JOptionPane.showMessageDialog(null,”\t\t\t Autor: Bruno Fernandes”);}
}
Agradeço a todos pela atenção.
