Bom dia galera sou novo aqui e estou estudando Java, recebi uma tarefa e estou tendo dificuldades.
Tenho que criar um menu utilizando o Switch se alguém puder me ajudar a fazer o menu agradeceria muito. Já vi alguns menus em Java mas não consegui fazer funcionar o meu segue código abaixo.
package pizzaSenai;
import javax.swing.JOptionPane;
public class esolhaPizza {
public static void main(String[] args) {
String cliente = "";
String celular = "";
String endereco = "";
String motoboyEntrega = "";
String clienteBusca = "";
double valorPedido = 0;
double pagDin;
double pagCar;
int opcao = 10;
while (opcao != 0) {
//MENU PRINCIPAL COM OS SABORES DE PIZZA E SAIR
opcao = Integer.parseInt(JOptionPane.showInputDialog(null
+ "1: Pizza calabresa R$ 25,00 \n"
+ "2: Pizza quatro queijos R$ 20,00 \n"
+ "3: Pizza camarão R$ 35,00 \n"
+ "4: Pizza portuesa R$ 25,00 \n"
+ "5: Pizza Baiana R$ 25,00 \n"
+ "Escolha o sabor de sua preferência! \n"
+ "Digite 0 para sair"));
//CASOS
switch (opcao) {
case 1:
//PIZZA CALABRESA
break;
case 2:
//PIZZA QUATRO QUEIJOS
break;
case 3:
//PIZZA CAMARÃO
break;
case 4:
//PIZZA PORTUGUES
break;
case 5:
//PIZZA BAIANA
break;
default: System.out.println ("Resposta inválida");
break;
}
}
}
}
O menu com switch já parece devidamente criado, qual a dificuldade que você está tendo? É para somar as quantidades e valores?
Abraço.
Exemplo:
1 - Classe PedidoPizza
public class PedidoPizza {
private int numeroPedido;
private String cliente;
private String celular;
private String endereco;
private String motoboy;
private double valorPedido;
private short tipoPagamento;
public PedidoPizza(int numeroDoPedido){
setNumeroPedido(numeroDoPedido);
}
/*
* Métodos acessores e modificadores
*/
public void setNumeroPedido(int numeroPedido){
this.numeroPedido = numeroPedido;
}
public int getNumeroPedido(){
return numeroPedido;
}
public void setCliente(String cliente){
this.cliente = cliente;
}
public String getCliente(){
return cliente;
}
public void setCelular(String celular){
this.celular = celular;
}
public String getCelular(){
return celular;
}
public void setEndereco(String endereco){
this.endereco = endereco;
}
public String getEndereco(){
return endereco;
}
public void setMotoboy(String motoboy){
this.motoboy = motoboy;
}
public String getMotoboy(){
return motoboy;
}
public void setValorPedido(double valorPedido){
this.valorPedido = valorPedido;
}
public double getValorPedido(){
return valorPedido;
}
public void setTipoPagamento(short tipoPagamento){
this.tipoPagamento = tipoPagamento;
}
public short getTipoPagamento(){
return tipoPagamento;
}
}
2 - Classe RegistraPedido:
import java.util.Random;
import java.util.Scanner;
public class RegistraPedido {
short contador = 0;
private PedidoPizza[] pedidos = new PedidoPizza[200];
private int gerarNumeroPedido(){
short indice;
short tamanho = 0;
int pedido = 0;
int[] pedidos = new int[200];
Random random = new Random();
for(short i = 0; i < pedidos.length; i++){
if(pedidos[i] == 0){
pedidos[i] = 1 + random.nextInt(200);
indice = i;
tamanho++;
break;
}
}
for(short i = 0; i < tamanho; i++){
for(short j = 0; j <= tamanho; j++){
if(pedidos[i] != pedidos[j]){
pedido = pedidos[i];
break;
}
}
}
return pedido;
}
public void exibirMenu(){
System.out.println("\n");
System.out.println("+--------------------------------------+");
System.out.println("| MENU |");
System.out.println("+--------------------------------------+");
System.out.println(
"| 01 - Pizza Calabresa (R$ 25,00) |\n" +
"| 02 - Pizza Quatro Queijos (R$ 20,00) |\n" +
"| 03 - Pizza de Camarão (R$ 35,00) |\n" +
"| 04 - Pizza Portuguesa (R$ 25,00) |\n" +
"| 05 - Pizza Baiana (R$ 25,00) |\n" +
"| 51 - Imprimir comanda (R$ 25,00) |\n" +
"| 99 - Sair |"
);
System.out.println("+--------------------------------------+\n\n");
}
public void lerDadosPedido(short indice){
char servico = 'N'; //Cliente vem buscar
Scanner leitor = new Scanner(System.in);
PedidoPizza pedidoPizza = new PedidoPizza(gerarNumeroPedido());
System.out.println("Número pedido: " + pedidoPizza.getNumeroPedido());
System.out.print("Cliente: ");
pedidoPizza.setCliente(leitor.nextLine());
System.out.print("Celular: ");
pedidoPizza.setCelular(leitor.nextLine());
System.out.print("Endereço: ");
pedidoPizza.setEndereco(leitor.nextLine());
System.out.print("Entrega [S/N]: ");
servico = leitor.next().charAt(0);
if(servico == 's' || servico == 'S'){
String opcao;
String[] motoboy = {"Zé", "João", "Bastião"};
do{
System.out.print("\nMotoboy: ");
opcao = leitor.next();
switch(opcao){
case "Zé":
pedidoPizza.setMotoboy(motoboy[0]);
break;
case "João":
pedidoPizza.setMotoboy(motoboy[1]);
break;
case "Bastião":
pedidoPizza.setMotoboy(motoboy[2]);
break;
default:
System.out.println("Motoboy não registrado!");
}
}while(!opcao.equals("Zé") && !opcao.equals("João") && !opcao.equals("Bastião"));
}
System.out.print("Valor do pedido: ");
pedidoPizza.setValorPedido(leitor.nextDouble());
System.out.println("Tipo de pagamento [0 = Dinheiro / 1 = Cartão]");
System.out.print("Opção escolhida: ");
short tipo = 0;
do{
tipo = leitor.nextShort();
if(tipo == 0)
pedidoPizza.setTipoPagamento(tipo);
else if(tipo == 1)
pedidoPizza.setTipoPagamento(tipo);
else
System.out.println("Tipo de pagamento inválido!");
}while(tipo != 0 && tipo != 1);
pedidos[indice] = pedidoPizza;
}
private void imprimirComanda(PedidoPizza[] pedidos, short tamanho){
for(short pedido = 0; pedido < tamanho; pedido++){
System.out.println("\n");
System.out.printf("%-19s%03d", "Pedido: ", pedidos[pedido].getNumeroPedido());
System.out.println("");
System.out.println("Cliente: " + pedidos[pedido].getCliente());
System.out.println("Celular: " + pedidos[pedido].getCelular());
System.out.println("Endereco: " + pedidos[pedido].getEndereco());
if(pedidos[pedido].getMotoboy() == null)
System.out.println("Entrega: Não");
else
System.out.println("Entrega: Sim [" + pedidos[pedido].getMotoboy() + "]");
System.out.println("Valor do pedido: " + pedidos[pedido].getValorPedido());
if(pedidos[pedido].getTipoPagamento() == 0)
System.out.println("Tipo de pagamento: Dinheiro\n");
else
System.out.println("Tipo de pagamento: Cartão\n");
}
System.out.println("\n");
}
public static void main(String[] args){
short opcao;
Scanner leitor = new Scanner(System.in);
RegistraPedido registraPedido = new RegistraPedido();
do{
registraPedido.exibirMenu();
System.out.print("Opção escolhida: ");
opcao = leitor.nextShort();
switch(opcao){
case 1:
System.out.println("Sabor: Pizza Calabresa");
registraPedido.lerDadosPedido(registraPedido.contador++);
break;
case 2:
System.out.println("Sabor: Pizza Quatro Queijos");
registraPedido.lerDadosPedido(registraPedido.contador++);
break;
case 3:
System.out.println("Sabor: Pizza de Camarão");
registraPedido.lerDadosPedido(registraPedido.contador++);
break;
case 4:
System.out.println("Sabor: Pizza Portuguesa");
registraPedido.lerDadosPedido(registraPedido.contador++);
break;
case 5:
System.out.println("Sabor: Pizza Baiana");
registraPedido.lerDadosPedido(registraPedido.contador++);
break;
case 51:
registraPedido.imprimirComanda(registraPedido.pedidos, registraPedido.contador);
break;
case 99:
break;
default:
System.out.println("Sabor indisponível");
}
}while(opcao != 99);
leitor.close();
}
}
Rodando…
1 curtida
Boa noite pessoal preciso de vossa ajudar por favor
@dannykiller abra um outro tópico para isso, por favor. E não se esqueça de publicar do que se trata, o código ‘problemático’.
Senhor Lohan és pode fdizer o seu email por favor pra mandar ficheiro
Isso, para somar as quantidades e continuar com o programa.
Obrigado por responder.
Muito obrigado por ter respondido e pelo seu tempo e disposição fazendo a programação, infelizmente não entendi algumas, coisas, vou dar uma analisada boa aqui e ver a lógica que você usou.
Sou iniciante no Java comecei a estudar Java faz menos de um mês por isso a dificuldade em entender seu código.