[Resolvido] Média dos multiplos de 3

5 respostas
M

Não sei aonde está o erro!

public class Exerc_4_lista_4 {
    public static void main (String [] args){

        int n, soma = 0,media = 0, a = 0;

        String num;

            num = JOptionPane.showInputDialog("Digite um numero");

            n = Integer.parseInt(num);

                while (n > 0){
                    if(n % 3 == 0)
                       a++;
                       soma = soma + n;
                         media = soma / n;
                         
                 
            num = JOptionPane.showInputDialog
                    ("Digite um valor negativo para sair");

            n = Integer.parseInt(num);

        if (n != 0){
            
        
            JOptionPane.showMessageDialog(null,"A media é " +media);



        }
    }
    }
}

5 Respostas

E

Erro de sintaxe eu não consegui observar nenhum, agora se o erro está num
resultado inesperado vc escreveu ± isso:

linha 12: enquanto o valor digitado for maior que zero;
linha 13: se o valor digitado for multiplo de trez (0,3,6,9,12 …) . O operador % retorna o resto de uma divisão.
linha 14: some +1 em “a”, que por sua vez (o “a”) não está sendo usado em nenhum lugar.

Chutando, acho que caberia usá-lo na linha 16 como divisor.
Agora, incrementar o “a”, que aparentemente conta a quantidade de
valores digitados, somente quando o valor digitado é multiplo de trez eu não consegui entender.

M
import javax.swing.JOptionPane;

public class Exerc_4_lista_4 {
    public static void main (String [] args){

        int n, soma = 0,media = 0, a = 0;
        String num;

        num = JOptionPane.showInputDialog("Digite um numero");
        n = Integer.parseInt(num);

        while (n > 0){
              if(n % 3 == 0){
                   a++;
                   soma = soma + n;
              }

              num = JOptionPane.showInputDialog("Digite um valor negativo para sair");
              n = Integer.parseInt(num);
        }

        media = soma / a;
        if (n != 0){
           JOptionPane.showMessageDialog(null,"A media é " +media);
           }
    }
}

Não sei exatamente se era isso que o enunciado pedia, mas tentei resolver me baseando no título da mensagem.
[]'s

M

efs.santos este cont a está errado mesmo.
marcostahara não e isso que quero, o programa tem que dar a media dos multiplos de 3, somente dos multiplos de 3 dos outros não!

M

Vlw amigo marcos e efs modifiquei e retirei! Funcionou blz!

M
import javax.swing.JOptionPane;

public class Exerc_4_lista_4 {
    public static void main (String [] args){

        int n, soma = 0, media = 0, a = 0, b = 1;
        String num;
        int[] vetor = new int[10];

        num = JOptionPane.showInputDialog("Digite um numero");
        n = Integer.parseInt(num);

        while (n >= 0){
              if(n % 3 == 0){
                   a++;
                   vetor[a] = n;
                   soma = soma + n;
              }

              num = JOptionPane.showInputDialog("Digite um valor negativo para sair");
              n = Integer.parseInt(num);
        }

        if (a > 0){
           while (b <= a) {
              JOptionPane.showMessageDialog(null,+b+"º multiplo de 3 digitado:  "+vetor[b]);
              b++;
           }
           media = soma / a;
           JOptionPane.showMessageDialog(null,"\nSoma dos multipos de três:  " +soma+
           "\nQuantidade de múltiplos de 3:  " +a+
           "\nMédia:  " +media);

        } else if (a == 0)
                  JOptionPane.showMessageDialog(null,"Nenhum múltiplo de 3 foi digitado !!!");
    }
}

Era isso que você precisava, só por curiosidade...
[]'s

Criado 23 de maio de 2010
Ultima resposta 23 de mai. de 2010
Respostas 5
Participantes 3