Sentinela que não pega!

6 respostas
G
input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto de numeros, -1 Exit");
       	qtde = Integer.parseInt(input);
       	
       	while(qtde != -1)
       	 {
       	  input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto de numeros, -1 Exit");
       	  qtde = Integer.parseInt(input);
       	  
       	  soma = soma + qtde;
       	  qtde += 1;
         }
[size="11"][color="red"]* Editado: Lembre-se de utilizar BBCode em seus códigos - Reifel[/color][/size] :joia:

6 Respostas

G

Pessoal eu fiz esta rotina abaixo. Só que ela não deixa eu fazer a soma do conjunto. Alguem sabe onde eu estou errando?

import javax.swing.JOptionPane.*;
  
   public class Exerc_11
     {
    public static void main(String args[]) 	
       {
       	int soma,qtde,num;
       	String input;
       	 soma = 0;
         num = 0;
       
  	     input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto de numeros, -1 Exit");
         qtde = Integer.parseInt(input);
  	       while(qtde != -1)
             {
               input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto de numeros, -1 Exit");
               qtde = Integer.parseInt(input);
               soma = qtde;
              soma += 1; 
              num += 1;
             }
        System.out.println("A soma do conjunto e: " + soma + " e o numero de elementos do conjunto e: " + num);
       	System.exit(0);
       }
     }

[size=“11”][color=“red”]* Editado (2ª): Lembre-se de utilizar BBCode em seus códigos - Reifel[/color][/size] :joia:

R
public class Exerc_11 
{ 
public static void main(String args[]) 
{ 
int soma,qtde,num; 
String input; 
soma = 0; 
num = 0; 

input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto de numeros, -1 Exit"); 
qtde = Integer.parseInt(input); 
while(qtde != -1) 
{ 
input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto de numeros, -1 Exit"); 
qtde = Integer.parseInt(input); 
soma = qtde; 
soma += 1; 
num += 1; 
} 
System.out.println("A soma do conjunto e: " + soma + " e o numero de elementos do conjunto e: " + num); 
System.exit(0); 
} 
}

Se voce deseja somar os conjuntos de numeros, (os valores digitados)…

olhe seu codigo

soma = qtde;

soma += 1;

num += 1;

primeiro voce atribui a soma o valor de qtde depois voce atribui a soma o valor de soma+1. Se queres a soma dos valores digitados basta apenas fazer:

soma += soma + qtde;

Não sei se consegui ser claro a suficiente

R

cara acho que assim funciona...:

import javax.swing.JOptionPane.*;

public class Exerc_11
{
   public static void main(String args[])
   {
      int soma,qtde,num;
      String input;
      soma = 0;
      num = 0;

      input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto      de numeros, -1 Exit");
      qtde = Integer.parseInt(input);
      soma = qtde;
      while(qtde != -1)
      {
         input = javax.swing.JOptionPane.showInputDialog("Digite um   conjunto de numeros, -1 Exit");
         qtde = Integer.parseInt(input);

         //soma = qtde;
         soma += 1;
         num += 1;
      }
      System.out.println("A soma do conjunto e: " + soma + " e o numero  de  elementos do conjunto e: " + num);
      System.exit(0);
   }
}

PS: Utilize BBCode como o Reifel disse

S
import javax.swing.JOptionPane.*;

public class Main
{
    
    public static void main(String args[])
    {
        int soma,qtde,num;
        String input;
        soma = 0;
        num = 0;
        qtde = 0; // inicializa a sentinela

        //  input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto de numeros, -1 Exit");
        //  qtde = Integer.parseInt(input);
        while(qtde != -1)
        {
            input = javax.swing.JOptionPane.showInputDialog("Digite um conjunto de numeros, -1 Exit");
            qtde = Integer.parseInt(input);
            
            if (qtde != -1) // não adiciona se for pra sair
            {
                soma += qtde;
                num += 1;
            }
        }

        System.out.println("A soma do conjunto e: " + soma + " e o numero de elementos do conjunto e: " + num);
        System.exit(0);
    }
}

Hahaha… o pessoa já respondeu enquanto eu digitava o código… mas como ficou um pouco diferente, vou postar também… =)

T

Cara no lugar de vc transformar em um inteiro a variavel input,deixa ela como sendo string e no while tu faz assim:

while(! input.equalsIgnoreCase("-1"))

Tenta pra ver se dar certo,valew!!!

T

Ops…
desconsidere minha resposta!!!Para o que vc quer não dá certo!

Criado 20 de julho de 2005
Ultima resposta 20 de jul. de 2005
Respostas 6
Participantes 5