Ajuda: do while, switch case, if else

3 respostas
M

Bom dia,tarde,noite a todos sou novato na área, comecei a pouco tempo o curso de SIstemas de informação e lá estou aprendendo
programação com java!! muito legal mesmo, porém as duvidas vão surgindo e eu gostaria da ajuda de vocês nessa minha incrivel jornada!!

então vamos a porrada!! :smiley:

Tentei fazer um programa simples com repetição, e switch case, que exibe uma lista de produtos no começo, exemplo pizza 11
ai é escolhida a pizza e a quantidade os valores são multiplicados e no final eu queria fazer uma repetição… como eu tentei no código!
porém essa repetição ficou infinita! hehe. e eu também não estou conseguindo " não sei" imprimir os valores em total tipo

JOptionPane.(imprimir todos os produtos comprados + total)…

alguem poderia me ajudar aqui?
[color=red]

package lanchonete;

import javax.swing.JOptionPane;

class Lanchonete {

static public void main (String agrs [])
{
    
    double total,preco;
    int quantidade,tabela,produto,repete;
    String x;
    
    repete =  JOptionPane.showConfirmDialog(null, "Deseja algum  produtos? ", "Produto", 
                              JOptionPane.YES_NO_OPTION);
    
      while (repete == 0 )
          
      {
    tabela = JOptionPane.showConfirmDialog(null, "Mostrar tabela de produtos? ", "Confirmação", 
                              JOptionPane.YES_NO_OPTION);
    
    if (tabela == 0)
    {
        JOptionPane.showMessageDialog(null, "COD     PRODUTO       PREÇO"
                                       + "\n 11     Pizza P      R$ 1.00 "
                                       + "\n 12     Pizza M      R$ 1.50 "
                                       + "\n 13     Pizza G      R$ 2.00 "
                                       + "\n 20     Torta P      R$ 1.50 "
                                       + "\n 21     Salgado      R$ 1.50 "
                                       + "\n 22     Salgado C    R$ 2.00 "
                                       + "\n 30     Doce         R$ 2.00 "
                                       + "\n 31     Torta D      R$ 1.30 "
                                       + "\n 40     Refrigerante R$ 2.00 "
                                       + "\n 41     Suco Lata    R$ 2.00 ");
       
    
    }
   produto = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o código do produto :",
            "Código", JOptionPane.INFORMATION_MESSAGE));
   
    quantidade = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a quantidade de", 
             "quantidade", JOptionPane.INFORMATION_MESSAGE));
    
    
    
    
   
             switch (produto)
                 {
        case (11):
            
                total = 1 * quantidade; // multiplica o valor do produto pela quantidade e salva 
                break; 
            
        case (12):
 
                total = 1.50 * quantidade;
                break;
            
        case (13):
            
                 total = 2.00 * quantidade;
                 break;
           
                 }
             while (repete ==1)
             {
                 JOptionPane.showMessageDialog(null, "COD     PRODUTO       PREÇO"+ total);
             }
                 
                 
              
     }

}
}

[/color]  </blockquote>

3 Respostas

Miltex

Quando for postar código coloque a tag [Code] pois facilita, já que o tempo é corrido…

package lanchonete; 

import javax.swing.JOptionPane; 

class Lanchonete { 

static public void main (String agrs []) 
{ 

double total,preco; 
int quantidade,tabela,produto,repete; 
String x; 

repete = JOptionPane.showConfirmDialog(null, "Deseja algum produtos? ", "Produto", 
JOptionPane.YES_NO_OPTION); 

while (repete == 0 ) 

{ 
tabela = JOptionPane.showConfirmDialog(null, "Mostrar tabela de produtos? ", "Confirmação", 
JOptionPane.YES_NO_OPTION); 

if (tabela == 0) 
{ 
JOptionPane.showMessageDialog(null, "COD PRODUTO PREÇO" 
+ "\n 11 Pizza P R$ 1.00 " 
+ "\n 12 Pizza M R$ 1.50 " 
+ "\n 13 Pizza G R$ 2.00 " 
+ "\n 20 Torta P R$ 1.50 " 
+ "\n 21 Salgado R$ 1.50 " 
+ "\n 22 Salgado C R$ 2.00 " 
+ "\n 30 Doce R$ 2.00 " 
+ "\n 31 Torta D R$ 1.30 " 
+ "\n 40 Refrigerante R$ 2.00 " 
+ "\n 41 Suco Lata R$ 2.00 "); 


} 
produto = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o código do produto :", 
"Código", JOptionPane.INFORMATION_MESSAGE)); 

quantidade = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite a quantidade de", 
"quantidade", JOptionPane.INFORMATION_MESSAGE)); 





switch (produto) 
{ 
case (11): 

total = 1 * quantidade; // multiplica o valor do produto pela quantidade e salva 
break; 

case (12): 

total = 1.50 * quantidade; 
break; 

case (13): 

total = 2.00 * quantidade; 
break; 

} 
while (repete ==1) 
{ 
JOptionPane.showMessageDialog(null, "COD PRODUTO PREÇO"+ total); 
} 



} 

} 
}
Miltex

verifica a variável “repete” se está sendo setada corretamente …

M

posso colocar outra pergunta no final do while. se ele não quiser mais nenhum produto o valor do repete passa pra 1.

daria certo?

Criado 4 de outubro de 2012
Ultima resposta 4 de out. de 2012
Respostas 3
Participantes 2