Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

array bidimensional

Como pode esse codigo rodar se o limite para o segundo array é 10? E eu estou inserindo array de 20 e 30 posicoes. int zyx[][]=new int[3][10]; int[]x=new int[20]; int[]y=new int[10]; int[]z=new int[30]; zyx[0]=x; zyx[1]=y; zyx[2]=z; System.out.println(zyx[2].length);

2 respostas
solução!

Na declaração do array zyx, você especificou os tamanhos dos arrays que vão ser criados incialmente, 3 arrays que possuem outro array com tamanho 10.

int zyx[][] = new int[3][10];

Porém no momento em que você executa essas operações:

int[] x = new int[20]; 
int[] y = new int[10]; 
int[] z = new int[30]; 
zyx[0] = x; 
zyx[1]=y; 
zyx[2]=z;

Você acaba de trocar a referência dos array que tinham sido criados no momento da declaração do zyx, isso é permitido, você simplesmente trocou o array que existia naquela posição por outro array.

Valeu, muito obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software