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.
