[RESOLVIDO][Duvida] Matriz em POO como imprimir uma matriz depois de criar várias?

Eai pessoal beleza? eu não estou sabendo como imprimir/chamar uma matriz em POO após criar várias matrizes.
O que eu pensei em fazer é criar um vetor e armazenar as matrizes dentro dele , mas nem sei se isso é possível kkkk
e depois digitar um numero entre N matrizes criadas e imprimir somente a correspondente a este numero. mas não estou conseguindo pensar em como realizar isso.
Metodo Main :slight_smile:

public class MATRIZLISTA {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here
    Scanner sc = new Scanner(System.in);
    System.out.print("Digite o numero de matrizes desejadas :");
    int nm = sc.nextInt();
    GeraMatriz mat[] = new GeraMatriz[nm];
    //CRIA MATRIZES
    for (int i = 0; i < mat.length; i++) {
        int N = sc.nextInt();
        int M = sc.nextInt();
        GeraMatriz gm = new GeraMatriz(N, M);
        gm.Criacao();
    }
    System.out.println("Digite a Matriz a ser empressa");
    int x = sc.nextInt();
    mat[x].imprime();

// aqui eu digitaria um numero que corresponderia a uma matriz, enviaria para a classe ela verificava qual //matriz é essa e imprimiria.

}

}

Classe

public class GeraMatriz {

private int N; //linhas
private int M; // colunas

public GeraMatriz(int N, int M) {
    this.N = N;
    this.M = M;
}

public void Criacao() {
    int mat[][] = new int[N][M];
    for (int linha = 0; linha < N; linha++) {

        for (int coluna = 0; coluna < M; coluna++) {
            mat[linha][coluna] = (int) (Math.random() * 60);
            System.out.printf("% 4d |", mat[linha][coluna]);
        }
        System.out.println("");
    }

}

public GeraMatriz imprime(GeraMatriz x) {

// aqui seria o código para imprimir, mas como faço isso ? pois não sei como receber esse valor e como puxar //as colunas e linhas da matriz
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.printf("% 4d |", x[N][M]);
}

    }
    return x;

}

}
Obrigado ao menos por ler XD

Presumo que seja um exercício, correto?
Se é, o que é pedido? Qual o enunciado?

sim é :v ;-;
3 Implemente a classe Matriz que representa uma matriz da forma NXM, onde N é o
número de linhas e M é o número de colunas. A classe deve suportar as seguintes
operações:
a. Construir uma matriz com um certo número de linhas e colunas.
b. Atribuir e retornar um elemento de uma determinada posição especificada por
linha e coluna.
eu estou tentando fazer essa B, acho que se eu conseguir imprimir a matriz, consigo chamar a linha e coluna :v:

c. Adicionar e multiplicar duas matrizes compatíveis. (Conferir as definições para
adição e multiplicação de matrizes na internet).

Vamos por partes, você criou uma classe chamada GeraMatriz, mas, deveria ter criado uma com nome Matriz.
Segundo, Imprimir a matriz vai te ajudar a ter uma “visão” da mesma, mas não irá resolver o problema.
Terceiro, você só tem que criar e manter a matriz dentro da classe Matriz e nela você terá um método que, dada uma coordenada (linha, coluna), você vai devolver o valor que está contido na respectiva posição da matriz.

Para a questão b:
Como você pode ler o valor contido numa posição da matriz? Basicamente, você sabe que acessa o valor de uma posição assim:

matriz[x][y];

Certo?

Oi desculpa a demora estava estudando para outra prova XD
sim certo, mas eu não consigo compreeender se eu gerar por exemplo 3 matrizes, como vou acessar a segunda na posição x,y
sinto que no meu codigo cada vez que gero uma nova matriz eu estou regravando por cima da anterior
e não acho uma maneira de recuperar ela .
acho que é isso minha duvida, como acessar a matriz anterior(ou aleatórias de 10 acessar uma 4° matriz depois de todas ja forem geradas) e depois acessar as posicoes dela

Veja, o primeiro item é criar uma classe que represente uma matriz qualquer.
Isso é fácil

public class Matriz {
     private int[][] aMatriz;
     
    public Matriz(int linhas, int colunas) {
         this.aMatriz = new int[linhas][colunas];
    }

    //Outros métodos
}

O que você precisa fazer é criar um vetor ou lista desse cara

private Matriz[] matrizes;

E, a partir disso, seguir com os demais.

hummmmmmm certo! :bulb::brain:
vou fazer aqui, muito o brigado XD