Metodo calcula, retorna media errada.[RESOLVIDO]

2 respostas
garotinhodejesus

fiz esse codigo onde tenho que chamar o metodo calcula, só que ele esta retornando o valor da media ponderada de forma errada, alguem pode me dizer porque?

public class Exercicio3{
    public static void main(String[]args)
    {
         String op;
         double n1, n2, n3, result=0;

         n1 = Double.parseDouble(JOptionPane.showInputDialog("Digite a 1ª nota"));
         n2 = Double.parseDouble(JOptionPane.showInputDialog("Digite a 2ª nota"));
         n3 = Double.parseDouble(JOptionPane.showInputDialog("Digite a 3ª nota"));
         op = JOptionPane.showInputDialog("A (Aritmética) ou P (Ponderada");

         result = calcula(n1,n2,n3,op);
         
         System.out.println(result);
   }
    public static double calcula(double n1, double n2, double n3, String op){

   String m;
   double x, y, z, media=0;
   x=n1;
   y=n2;
   z=n3;
   m=op;
   
   if(m.equals("A"))
    {
      media = (x*5 + y*3 + z*2)/10;
     }

   else if(m.equals("P"))
   {
   media = x+y+z/3;
   }
    
    return media;
    
    
    
    }


}

2 Respostas

rsakurai

Porque a divisão é realizada antes da soma. Coloca um parênteses na sua conta (x+y+z)/3 assim ele soma as notas e depois vai dividir por 3.

garotinhodejesus

Obrigado mano, mais uma vez o guj me ajudou.

Criado 27 de março de 2011
Ultima resposta 27 de mar. de 2011
Respostas 2
Participantes 2