Java 为什么switch语句不进入案例2?

Java 为什么switch语句不进入案例2?,java,switch-statement,Java,Switch Statement,谢谢你阅读我的问题。 我对编译器没有任何问题,当我运行程序时,案例1工作正常,但案例2不工作,当我尝试使用它时,程序返回主菜单。谢谢你的帮助 public static void main(String[] args) { int opcion=0; double[][] m; do{ m=new double[0][0]; opcion=Integer.parseInt(JOptionPane.showInputDialog(null

谢谢你阅读我的问题。 我对编译器没有任何问题,当我运行程序时,案例1工作正常,但案例2不工作,当我尝试使用它时,程序返回主菜单。谢谢你的帮助

public static void main(String[] args) {
    int opcion=0;
    double[][] m;

    do{

        m=new double[0][0];
        opcion=Integer.parseInt(JOptionPane.showInputDialog(null,"El programa permite:\n1.Ingresar Inventario\n2.Calcular Inventario\n3.Salir"));
        switch(opcion){
            case 1: 


                m=Metodos.LLenarMatriz();
                Metodos.Imprimir(m);

            break;

            case 2:

                double[][] r=Metodos.CalcularInventario(m);
                Metodos.Imprimir(r);
            break;    
        }

    }
    while(opcion!=3);


    }

}
以下是两种方法:

public static double[][] CalcularInventario (double[][] x){

    double fac,n=0;
    int filx;
    filx=x.length;
    double [][] c=new double[filx][3];
    for(int i=0;i<x.length;i++){
        for(int j=0;j<x[i].length;j++){
            c[i][j]=x[i][j];
        }
    }
    for(int i=0; i<c.length;i++)
    {
        fac=x[i][0];


        n=fac*c[i][1];
        c[i][2]=n;



    } 

    return c; 
}
publicstaticdouble[]CalcularInventario(double[]x){
双fac,n=0;
int filx;
filx=x.长度;
double[]c=新的double[filx][3];

对于(inti=0;i这是使用调试器可以帮助调试代码的地方

m=new double[0][0];
所以矩阵是空的

int filx;
filx=x.length;
double [][] c=new double[filx][3];
for(int i=0;i<m.length;i++){
    System.out.print("\n");
并且
x.length
为0,因此
c
为空

int filx;
filx=x.length;
double [][] c=new double[filx][3];
for(int i=0;i<m.length;i++){
    System.out.print("\n");

for(inti=0;i这是使用调试器可以帮助调试代码的地方,但是

m=new double[0][0];
所以矩阵是空的

int filx;
filx=x.length;
double [][] c=new double[filx][3];
for(int i=0;i<m.length;i++){
    System.out.print("\n");
并且
x.length
为0,因此
c
为空

int filx;
filx=x.length;
double [][] c=new double[filx][3];
for(int i=0;i<m.length;i++){
    System.out.print("\n");

for(int i=0;i您所说的选项2不起作用是什么意思?具体的输出或示例会有帮助。您所说的选项2不起作用是什么意思?具体的输出或示例会有帮助。