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);
}
}
}
}
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.
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
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!
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 !!!");
}
}[/code]
Era isso que você precisava, só por curiosidade…
[]'s