Переключатель меню Java

Necesito que este programa vuelva принципал ejecutar el menú, la opción 1 para escoger la primera opción del switch, luego escojo la opción 6 случаев para salir de ese y я permita volver escoger una opción del switch, pero cuando oprimo otra opción никакой ejecuta de nuevo el switch, este es el código. gracias

package exito;

import com.sun.glass.ui.SystemClipboard;
import java.util.Scanner;
import jdk.nashorn.internal.parser.TokenType;


public class EXITO {


    public static void main(String[] args) {

        Scanner teclado=new Scanner(System.in);

       int op1=0;
        int op2=0;
        double precio=0;

        System.out.println("Bienvenido a la tienda virtual supermercados Exito");
        System.out.println("seleccione una categoria de su interes.");



        do {

        System.out.println("1 - Lacteos");
        System.out.println("2 - Granos");
        System.out.println("3 - Verduras");
        System.out.println("4 - Frutas");
        System.out.println("5 - Jugueteria");
        System.out.println("6 - Ferreteria");
        System.out.println("7 - Fin de la compra y total");

        op1=Integer.parseInt(teclado.next());


        switch (op1){
            case 1:

                while (op2<=5) {
                    System.out.println("Lacteos");
                    System.out.println("1 - leche :$100");
                    System.out.println("2- yogurt :$200");
                    System.out.println("3 - alpinito :$300");
                    System.out.println("4 - queso :$400");
                    System.out.println("5 - bon yurt :$500");
                    System.out.println("6 - volver atras");

                    op2=Integer.parseInt(teclado.next());
                    if (op2==1) {
                        precio=precio+100;
                    }
                    else 
                        if (op2==2) {
                        precio=precio+200;
                    }
                        else 
                            if (op2==3) {
                        precio=precio+300;
                    }
                            else 
                                if (op2==4) {
                        precio=precio+400;
                    }
                                else 
                                    if (op2==5) {
                        precio=precio+500;
                    } 
                }



                    //break;

            case 2:

                while (op2<=5) {
                    System.out.println("Granos");
                    System.out.println("1 - frijol :$100");
                    System.out.println("2- lenteja :$200");
                    System.out.println("3 - soja :$300");
                    System.out.println("4 - garbanzo :$400");
                    System.out.println("5 - arbeja :$500");
                    System.out.println("6 - volver atras");

                    op2=Integer.parseInt(teclado.next());
                    if (op2==1) {
                        precio=precio+100;
                    }
                    else 
                        if (op2==2) {
                        precio=precio+200;
                    }
                        else 
                            if (op2==3) {
                        precio=precio+300;
                    }
                            else 
                                if (op2==4) {
                        precio=precio+400;
                    }
                                else 
                                    if (op2==5) {
                        precio=precio+500;
                    }

                }



                    //break;

            case 3:

                while (op2<=5) {
                    System.out.println("verduras");
                    System.out.println("1 - espinaca :$100");
                    System.out.println("2- coliflor :$200");
                    System.out.println("3 - zanahoria :$300");
                    System.out.println("4 - tomate :$400");
                    System.out.println("5 - cebolla :$500");
                    System.out.println("6 - volver atras");

                    op2=Integer.parseInt(teclado.next());
                    if (op2==1) {
                        precio=precio+100;
                    }
                    else 
                        if (op2==2) {
                        precio=precio+200;
                    }
                        else 
                            if (op2==3) {
                        precio=precio+300;
                    }
                            else 
                                if (op2==4) {
                        precio=precio+400;
                    }
                                else 
                                    if (op2==5) {
                        precio=precio+500;
                    }

                }



                    //break;


            case 4:

                while (op2<=5) {
                    System.out.println("frutas");
                    System.out.println("1 - manzana :$100");
                    System.out.println("2- pera :$200");
                    System.out.println("3 - banano :$300");
                    System.out.println("4 - uvas :$400");
                    System.out.println("5 - durazno :$500");
                    System.out.println("6 - volver atras");

                    op2=Integer.parseInt(teclado.next());
                    if (op2==1) {
                        precio=precio+100;
                    }
                    else 
                        if (op2==2) {
                        precio=precio+200;
                    }
                        else 
                            if (op2==3) {
                        precio=precio+300;
                    }
                            else 
                                if (op2==4) {
                        precio=precio+400;
                    }
                                else 
                                    if (op2==5) {
                        precio=precio+500;
                    }

                }



                    //break;


             case 5:

                while (op2<=5) {
                    System.out.println("Jugueteria");
                    System.out.println("1 - uno :$100");
                    System.out.println("2- monopolio :$200");
                    System.out.println("3 - ajedrez :$300");
                    System.out.println("4 - balon :$400");
                    System.out.println("5 - plastilina :$500");
                    System.out.println("6 - volver atras");

                    op2=Integer.parseInt(teclado.next());
                    if (op2==1) {
                        precio=precio+100;
                    }
                    else 
                        if (op2==2) {
                        precio=precio+200;
                    }
                        else 
                            if (op2==3) {
                        precio=precio+300;
                    }
                            else 
                                if (op2==4) {
                        precio=precio+400;
                    }
                                else 
                                    if (op2==5) {
                        precio=precio+500;
                    }

                }



                    //break;
            case 6:

                while (op2<=5) {
                    System.out.println("Ferreteria");
                    System.out.println("1 - pala :$100");
                    System.out.println("2- martillo :$200");
                    System.out.println("3 - destornillador :$300");
                    System.out.println("4 - taladro :$400");
                    System.out.println("5 - alicate9 :$500");
                    System.out.println("6 - volver atras");

                    op2=Integer.parseInt(teclado.next());
                    if (op2==1) {
                        precio=precio+100;
                    }
                    else 
                        if (op2==2) {
                        precio=precio+200;
                    }
                        else 
                            if (op2==3) {
                        precio=precio+300;
                    }
                            else 
                                if (op2==4) {
                        precio=precio+400;
                    }
                                else 
                                    if (op2==5) {
                        precio=precio+500;
                    }

                }



                    //break;        

            /*default:
                System.out.println("total: "+precio);*/

        }

        System.out.println("total: "+precio);


        } while (op1!=7);               


    }

}
2
задан 18.05.2017, 02:15
1 ответ

AquГ - я оставляю тебе полный пример одного menГє, который я сделал, despuГ©s делания одной opciГіn возвратись в menГє. AsegГєrate использования break despuГ©s каждый вступите в брак и default в конце переключателя, чтобы иметь всегда одну opciГіn из-за default.

ты Можешь видеть полный пример menГє в java используя переключатель

package SwitchEnJava;
import java.util.Scanner;
public class SwitchEnJavaMain {
    public static void main(String[] args) {
        System.out.println("Menu principal de operaciones matematicas usando SWITCH");
        int a = 0;
        int b = 0;
        Operaciones operacion = new Operaciones();
        Scanner entradaEscaner = new Scanner(System.in);
        String opcion = "";
        do {
            System.out.println("Dime tu operacion: SUMA, RESTA, MULTIPLICACION, DIVISION, SALIR");
            opcion = entradaEscaner.nextLine().toUpperCase();
            if (!"SALIR".equals(opcion)) {

                System.out.println("Dame el valor de A:");
                a = Integer.parseInt(entradaEscaner.nextLine());
                System.out.println("Dame el valor de B:");
                b = Integer.parseInt(entradaEscaner.nextLine());
                switch (opcion) {
                    case "SUMA":
                        System.out.println("SUMA = " + operacion.suma(a, b));
                        break;
                    case "RESTA":
                        System.out.println("RESTA = " + operacion.resta(a, b));
                        break;
                    case "MULTIPLICACION":
                        System.out.println("MULTIPLICACION = " + operacion.multiplicacion(a, b));
                        break;
                    case "DIVISION":
                        System.out.println("DIVISION = " + operacion.division(a, b));
                        break;
                    default:
                        System.out.println("Opcion desconocida, teclee otra");
                        break;
                }
            }
        } while (!"SALIR".equals(opcion));
    }
}
0
ответ дан 24.11.2019, 09:07

Теги

Похожие вопросы