Galera, preciso um programa de lanchonete a qual o usuário poderá pedir o produto de sua preferência em casa. Eu não posso usar if/else. Fiz da seguinte maneira:
public class número3 {
publicstaticvoidmain(String[]args){System.out.println("Seja Bem-Vindo !");Stringlit=null;doublegor;lit=JOptionPane.showInputDialog("Deseja fazer um pedido ?");do{switch(lit){case"Sim":System.out.println("Produtos:\n"+"Código 1: Refrigerante:R$5,00\n"+"Código 2: Pizza:R$30,00\n"+"Código 3: Lasanha:R20,00$\n"+"Código 4: Butguer King:R$15,00");intnum=Integer.parseInt(JOptionPane.showInputDialog("Digite o código do produto que deseja:"));switch(num){case1:gor=(5*0.1);System.out.println("O garçom ganha R$ "+gor+" na venda desse produto");break;case2:gor=(30*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;case3:gor=(20*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;case4:gor=(15*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;}lit=JOptionPane.showInputDialog("Deseja fazer um outro pedido ?");break;case"Não":System.out.println("Obrigado pela visita");break;}}while(lit!="Sim");}
}
Gostaria da ajuda de vocês, de o por quê quando o usuário digitar “Não” ele entra em loop infinto aparecendo a mensagem " Obrigado pela visita".
OBS: Quando coloco para a condição de repetição ser igual a " Sim ", ele executa apenas uma vez.
Enquanto o lit for diferente de sim o while será infinito.
Ao digitar não o do while continua pois lit é diferente de sim.
Mude a condição do while para não
H
helenodss1 like
`import javax.swing.JOptionPane;
public class testeFibonnaci {
public static void main(String[] args) {
System.out.println("Seja Bem-Vindo !");Stringlit=null;doublegor;lit=JOptionPane.showInputDialog("Deseja fazer um pedido ?");do{switch(lit){case"sim":System.out.println("Produtos:\n"+"Código 1: Refrigerante:R$5,00\n"+"Código 2: Pizza:R$30,00\n"+"Código 3: Lasanha:R20,00$\n"+"Código 4: Butguer King:R$15,00");intnum=Integer.parseInt(JOptionPane.showInputDialog("Digite o código do produto que deseja:"));switch(num){case1:gor=(5*0.1);System.out.println("O garçom ganha R$ "+gor+" na venda desse produto");break;case2:gor=(30*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;case3:gor=(20*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;case4:gor=(15*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;}lit=JOptionPane.showInputDialog("Deseja fazer um outro pedido ?");break;case"nao":System.out.println("Obrigado pela visita");break;}}while(lit=="Sim");}
}
`
E
Eduardo_Parreira
Mudei a condição, mas o loop infinito persiste.
E
Eduardo_Parreira
Alterei, e desse jeito o programa pergunta se desejo fazer um pedido, mesmo colocando sim ele se encerra.
J
Jonas_B_a_r_r_o_s
Amigo, tente assim:
import javax.swing.JOptionPane;
public class Produtos {
public static void main(String[] args) {
System.out.println("Seja Bem-Vindo !");doublegor;intlit=JOptionPane.showConfirmDialog(null,"Deseja fazer um pedido? ","Escolha uma opção",JOptionPane.YES_NO_OPTION);do{switch(lit){caseJOptionPane.YES_OPTION:System.out.println("Produtos:\n"+"Código 1: Refrigerante:R$5,00\n"+"Código 2: Pizza:R$30,00\n"+"Código 3: Lasanha:R20,00$\n"+"Código 4: Butguer King:R$15,00");intnum=Integer.parseInt(JOptionPane.showInputDialog("Digite o código do produto que deseja:"));switch(num){case1:gor=(5*0.1);System.out.println("O garçom ganha R$ "+gor+" na venda desse produto");break;case2:gor=(30*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;case3:gor=(20*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;case4:gor=(15*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;}}if(lit==JOptionPane.NO_OPTION){System.out.println("Obrigado pela visita");break;}else{lit=JOptionPane.showConfirmDialog(null,"Deseja fazer outro pedido? ","Escolha uma opção",JOptionPane.YES_NO_OPTION);}switch(lit){caseJOptionPane.YES_OPTION:continue;}}while(lit==JOptionPane.YES_OPTION);
}
}
E
Eduardo_Parreira
Mano, eu não posso usar if/else. O professor pediu para não usar nesse exercício.
J
Jonas_B_a_r_r_o_s2 likes
A sim, ok. É so um pequeno detalhe. Ta aí agora.
import javax.swing.JOptionPane;
public class Produtos {
public static void main(String[] args) {
System.out.println("Seja Bem-Vindo !");doublegor;intlit=JOptionPane.showConfirmDialog(null,"Deseja fazer um pedido? ","Escolha uma opção",JOptionPane.YES_NO_OPTION);do{switch(lit){caseJOptionPane.YES_OPTION:System.out.println("Produtos:\n"+"Código 1: Refrigerante:R$5,00\n"+"Código 2: Pizza:R$30,00\n"+"Código 3: Lasanha:R20,00$\n"+"Código 4: Butguer King:R$15,00");intnum=Integer.parseInt(JOptionPane.showInputDialog("Digite o código do produto que deseja:"));switch(num){case1:gor=(5*0.1);System.out.println("O garçom ganha R$ "+gor+" na venda desse produto");break;case2:gor=(30*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;case3:gor=(20*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;case4:gor=(15*0.1);System.out.println("O garçom ganha R$"+gor+" na venda desse produto");break;}caseJOptionPane.NO_OPTION:System.out.println("Obrigado pela visita");break;}switch(lit){caseJOptionPane.YES_OPTION:lit=JOptionPane.showConfirmDialog(null,"Deseja fazer um pedido? ","Escolha uma opção",JOptionPane.YES_NO_OPTION);continue;caseJOptionPane.NO_OPTION://Nada mais acontece}}while(lit==JOptionPane.YES_OPTION);
}
}
E
Eduardo_Parreira1 like
Obrigado amigo, funcionou direitinho. Ainda sou iniciante, alguns comando ai ainda não tinha visto, mas só serve com incentivo para o estudo, valeu !