Exercício da faculdade, não estou conseguindo!

5 respostas
A

E ai pessoal, sou novo aqui no PJ e sou novo em programação também, estou aprendendo Java na faculdade (segunda fase)
o problema é o seguinte:

2) Construir um algoritmo que calcule a média aritmética de vários valores inteiros positivos, lidos externamente. O final da leitura acontecerá quando for lido um valor negativo

ai vai o código que eu fiz:

import javax.swing.JOptionPane;

public class MediaAritimetica {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int valor = 0, quantidade = -1, soma = 0;
		
		
		while (valor >= 0) {
			valor = Integer.parseInt(JOptionPane.showInputDialog("Informe um valor inteiro." +"\n" + "Para terminar, informe um valor negativo."));
			soma = soma + valor;
			quantidade = quantidade + 1;
		}
		
		JOptionPane.showMessageDialog(null, "Você digitou "+quantidade+" números"+"\n"+"A média é: "+(soma/quantidade));
	}

}

o programa compilou tudo certinho, consigo executar, o problema é que o programa não tá mostrando o que eu quero!

ele não tá calculando a média corretamente, olhei o código todo, com ajuda de uns amigos e também não conseguimos..

eu usei o while porque quando eu digitar um número negativo, ele deve encerrar o programa, dai achei que ele seria a melhor opção..

por enquanto é isso.. valeu!

5 Respostas

F

O problema é que ele ta somando o numero negativo tb… tente assim:

public static void main(String[] args) {
       int valor = 0, quantidade = 0, soma = 0;
      
      
      while (valor >= 0) {
         valor = Integer.parseInt(JOptionPane.showInputDialog("Informe um valor inteiro." +"\n" + "Para terminar, informe um valor negativo."));
          if(valor>0){
         soma = soma + valor;
         quantidade = quantidade + 1;
         }
      }
      
      JOptionPane.showMessageDialog(null, "Você digitou "+quantidade+" números"+"\n"+"A média é: "+(soma/quantidade));
   }

}

nao testei aqui mas deve rresolver…

A

não,
eu inicializei a variavel Quantidade com um numero negativo para resolver outro probleminha, ele estava contando 1 a mais, por exemplo
vc inseria 2 números, ele dizia que vc inseriu 3 entende?
dai do jeito que fiz ele mostra a quantidade de números inseridos corretamente.
mas mesmo assim dava problema na conta…

F

pois e… mas com esse if que coloquei ai resolve o problema… ele tava dandio um numero a mais pq ele tb somava e contava o numero negativo que vc digitava para parar o looping. agora isso nao mais acontece pq fiz isso

if(valor>0){

soma = soma + valor;

quantidade = quantidade + 1;

}

testa ai que vai funcionar…

A

puts, foi mal, não reparei no If ali.
agora não dá tempo pra mim testar, quando chegar da aula eu testo e respondo aqui blz?

valeu! :grin:

A

problema resolvido :grin:

era isso mesmo, só colocar o if ali e resolveu tudo!

valeu pela ajuda!

Criado 4 de agosto de 2006
Ultima resposta 4 de ago. de 2006
Respostas 5
Participantes 2