Preencher matriz

Ora venho aqui mais uma vez pedir a vossa ajuda e opinião.

Eu pretendo fazer um programa que cria um array bidimensional e que guarda nas posições desse array alguns números, esses numeros são dados por uma variável que lê um inteiro num ficheiro externo. Contudo o numeros de linhas também é uma variavel que recebe um inteiro de um ficheiro externo:

Vou postar aqui o codigo para que fiquem mais familiarizados com o problema:

int matriz [][] = new int[numerolinhas][4];
		numerolinhas; //variavel que recebe valores de um ficheiro txt
		numerosmatriz; //variavel que recebe valores de um ficheiro txt
		
		
		for(int i=0; i<matriz[0].length;i++)
				matriz[0][j] = numerosmatriz-1;
				matriz[1][0] = i+1;

Bem o que acontece é que eu consigo por os valores desejados na matriz mas só quando conheço as posições da linha, ou seja quando conheço o valor da variável numerolinhas, se eu não conhecer não sei como ei de fazer. Aqui é que eu pedia a vossa ajuda. Já agora vou por aqui como pretendo que fique que fique a minha matriz :

caso : numerolinhas = 2

[size=18]8 | 7 | 6 | 5
1 | 2 | 3 | 4 [/size]

caso : numero de linhas = 3

[size=18]12 | 11 | 10 | 9
5 | 6 | 7 | 8
4 | 3 | 2 | 1[/size]

Olá este seu código está confuso e errado, pra quê isto (em red) :?:

for(int i=0; i<[color=red]matriz[0].length[/color];i++)

Para saber o tamanho da variável numerolinhas, faça numerolinhas.length

flw :thumbup: