Java 我怎样才能有一个开关,在走出一个箱子后返回开关,以便能够选择不同的箱子?

Java 我怎样才能有一个开关,在走出一个箱子后返回开关,以便能够选择不同的箱子?,java,loops,switch-statement,Java,Loops,Switch Statement,我怎样才能有一个开关,在走出一个箱子后返回开关,以便能够选择不同的箱子? 我是java新手,想知道是否有人能帮我解决这个问题。这是我正在做的一个项目,必须在一个案例中插入数据,在其他案例中输出数据。这就像一个跟踪公司收入和收益的程序。这是我目前的代码: import java.util.Scanner; class lab { public static void main(String[] args) { Scanner sc = new Scanner(System

我怎样才能有一个开关,在走出一个箱子后返回开关,以便能够选择不同的箱子? 我是java新手,想知道是否有人能帮我解决这个问题。这是我正在做的一个项目,必须在一个案例中插入数据,在其他案例中输出数据。这就像一个跟踪公司收入和收益的程序。这是我目前的代码:

import java.util.Scanner;

class lab {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Character letra;
        char subswitch;
        int num;
        String[] productos = new String[10];
        int[] codprod = new int[10];
        int[] cant = new int[10];
        int[] precioc [] = new int[10];
        int m=0;
        int isv;
        char pregunta;

        System.out.println("Ingrese su opcion (a/b/c/d/e): ");
        letra=sc.next().charAt(0);
        boolean loop = true;

        do{
            switch(letra){
            case 'a':
            System.out.println("Bienvenido a configuracion");
            System.out.println("Seleccione lo que desea configurar ISV:'e'/Precio de venta:'d'/Descuentos:'f'/Salir:'g'");
            subswitch=sc.next().charAt(0); 
                switch(subswitch) {
                case 'e':
                    System.out.println("Desea asignar un nuevo valor al isv? Y/N");
                    pregunta=sc.next().charAt(0);

                    if(pregunta=='y'|| pregunta=='Y') {
                        System.out.println("ingrese la cantidad que desea asignar al isv");
                        num=sc.nextInt();
                        isv=num/100;
                    } else {
                        isv=15/100;
                    }
                    break;
                case'd':
                    break;
                case 'f':
                    break;
                case 'g':
                System.out.println("Adios");
                break;
                }                   
                break;
            case 'b':
                System.out.println("Bienvenido a compras");
                for(int n=0;n<productos.length;n++){
                    System.out.println("Ingrese el nombre del proveedor: ");
                    productos[n]=sc.next();

                    System.out.println("Ingrese el codigo del producto: ");
                    codprod[n]=sc.nextInt();

                    System.out.println("Ingrese la cantidad del producto: ");
                    cant[n]=sc.nextInt();

                    System.out.println("Ingrese el precio del producto: ");
                    precioc[n]=sc.nextInt();
                }
                break;
            case 'c':
                break;
            case 'd':
                break;
            case 'e':
                loop=false;
                System.out.println("Adios");
                break;
            }
        } while (loop==true);
    }
}
import java.util.Scanner;
班级实验室{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
字符莱特拉;
字符子开关;
int-num;
字符串[]productos=新字符串[10];
int[]codprod=新int[10];
int[]铁路超高=新的int[10];
int[]precioc[]=新int[10];
int m=0;
int isv;
char pregunta;
系统输出打印号(“入口su opcion(a/b/c/d/e):”;
letra=sc.next().charAt(0);
布尔循环=真;
做{
开关(letra){
案例“a”:
System.out.println(“Bienvenido a configuracion”);
System.out.println(“选择配置器ISV:'e'/设计文件:'d'/设计文件:'f'/设计文件:'g'”);
subswitch=sc.next().charAt(0);
开关(子开关){
案例“e”:
系统输出打印(是/否);
pregunta=sc.next().charAt(0);
if(pregunta=='y'| | pregunta=='y'){
系统输出打印(isv系统输入);
num=sc.nextInt();
isv=num/100;
}否则{
isv=15/100;
}
打破
案例d':
打破
案例“f”:
打破
案例“g”:
System.out.println(“Adios”);
打破
}                   
打破
案例“b”:
System.out.println(“Bienvenido a compras”);

对于(int n=0;您可以将整个
switch
语句包含在一个循环中,就像您所做的那样。注意,正确格式化您的代码可以使其非常、非常易于阅读……并且更易于调试!还可以将更改“letra”的代码放入循环中在切换之前循环中的变量,因为您正在切换letra变量。谢谢,我试图在每次中断后将letra设置为null,但出现了一个错误。现在,在切换之前设置它更有意义。谢谢!您可以使用循环来执行此操作。