gpt4 book ai didi

java - 为什么switch语句没有进入case 2?

转载 作者:行者123 更新时间:2023-12-02 03:57:55 28 4
gpt4 key购买 nike

感谢您阅读我的问题。我的编译器没有任何问题,当我运行程序时,情况 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;
}

public static void Imprimir(double[][] m){

for(int i=0;i<m.length;i++){
System.out.print("\n");
for(int j=0;j<m[i].length;j++){

System.out.print(m[i][j]+"|");

}

}
}

}

最佳答案

这是使用调试器可以帮助调试代码的地方。

m=new double[0][0];

所以矩阵是空的。

int filx;
filx=x.length;
double [][] c=new double[filx][3];

并且x.length为0,因此c为空。

for(int i=0;i<m.length;i++){
System.out.print("\n");

但是m.length仍然是0,所以它不会打印任何东西。

我建议您在调试器中单步调试代码,以了解它在什么时候没有达到您的预期。我还建议您在 IDe 中使用格式化程序,以使您的代码更易于阅读。

关于java - 为什么switch语句没有进入case 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35261796/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com