2016-02-08 2 views
0

спасибо, что прочитал мой вопрос. У меня нет проблем с компилятором, и когда я запускаю программу, корпус 1 работает хорошо, но случай 2 не работает. Когда я пытаюсь его использовать, программа возвращается в главное меню. чем вы за вашу помощь.Почему оператор switch не входит в регистр 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]+"|"); 

     } 

    } 
} 

}

+0

что вы подразумеваете под вариантом 2 не работает? Конкретный результат или примеры были бы полезными. – vextorspace

ответ

2

Это где с помощью отладчика поможет отладки кода, но.

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, чтобы сделать код более удобным для чтения.