[RESOLVIDO] Não consigo encontrar o erro no código!

se colocar uma matriz 2x2 apenas pede 3 valores e dá erro!

public static void main(String[] args) {
    int [][]matriz;
    int y =0;
    int x =0;
    Scanner sc=new Scanner(System.in);
    System.out.println("Insira o numero de linhas da matriz: ");
    x=sc.nextInt();
    System.out.println("Insira o numero de colunas da matriz: ");
    y=sc.nextInt();
    matriz = new int[x][y];
    System.out.println("Insira um valor:");
    int k=sc.nextInt();
    for ( int i=0; i<x;i++){
        for (int j=0;j<y;j++){
            matriz[i][j]=k;  
            System.out.println("Insira um valor");
            k= sc.nextInt();
        }
    System.out.println(matriz[1][2]);
    }
}    

}

Se sua matriz é 2x2, não vai existir índice 2, somente índices 0 e 1.

3 curtidas

Também melhor evitar usar nextInt, melhor fazer dessa forma:

x = Integer.parseInt(sc.nextLine());

O mesmo para y… isso evita bugs por causa do buffer…

1 curtida

À pois é! :wink: obrigado

Se eu colocar um matriz 2x2, apenas pede um valor e dps dá erro!