[1] [2] [3]线程中的异常" main" java.lang.ArrayIndexOutOfBoundsException:3在Matrices.main(Matrices.java:19)

时间:2017-12-18 17:38:09

标签: java

我正在学习java课程,我试图在没有帮助的情况下进行这项练习,但我的cdm对我说:

[1] [2] [3]线程中的异常" main" java.lang.ArrayIndexOutOfBoundsException:3在Matrices.main(Matrices.java:19) 即便如此,我复制了老师的练习,他也没有任何错误。请帮帮我。感谢。

我的练习:

 import java.util.Scanner;
    public class Matrices{
     public static void main(String args[]){

       int contador = 1, filas = 0, columnas = 0;
       Scanner entrada = new Scanner(System.in);

       System.out.println("¿Cuantas filas quiere?");
       filas = entrada.nextInt();

       System.out.println("¿Cuantas columnas quiere?");
       columnas = entrada.nextInt();

       int matriz1 [][] = new int [filas][columnas];

      for(int j = 0; j < filas; j++){
        for(int i = 0; i < columnas; j++){
          matriz1[j][i] = contador;
          contador++;
          System.out.print("[" + matriz1[j][i] + "]");  
        }
         System.out.println("");
       }    
     }
    }

我的老师练习:

import java.util.Scanner;

public class MatricesDinamicas{
  public static void main(String args[]){

   int filas = 0, columnas = 0, contador = 1;
   Scanner entrada = new Scanner(System.in);

   System.out.println("¿Cuantas filas deseas?");
   filas = entrada.nextInt();

   System.out.println("¿Cuantas columnas deseas?");
   columnas = entrada.nextInt();

   int numeros [][] = new int [filas][columnas];

   for(int j = 0; j < filas; j++){
    for(int i = 0; i < columnas; i++){
      numeros[j][i] = contador;
      contador++;
      System.out.print("[" + numeros[j][i] + "]");
    }
     System.out.println("");
   }
 }
}

1 个答案:

答案 0 :(得分:0)

您在j的循环中递增i

for(int j = 0; j < filas; j++) {
  for(int i = 0; i < columnas; i++) {
      // Was j in the OP ------^