Array multi-dimensional

3 respostas
S

Ola pessoal!
Por que este método funciona???

protected static void multi ()
	{
		int [][] x = new int[2][4];

		for(int j =0; j<x.length; j++, System.out.print("\n")){
			
			for(int i = 0; i<x[j].length; i++)
			{
				System.out.print(	x[j][i] +" ");	
				
			}
			
			}

		int []a = {1,2,3,4,5,6};
		int []b = {10,20,30,40,50,60};
		x[0] = a;
		x[1] = b;
		
		System.out.println(":| ???");
		
		for(int j =0; j<x.length; j++, System.out.print("\n")){
		
		for(int i = 0; i<x[j].length; i++)
		{
			System.out.print(	x[j][i] +" ");	
			
		}
		
		}

	}

Pensei que ele lançava um ArrayIndexOutOfBoundsException, mas que nada, roda na boa :roll: .

Alguém sabe o por que???

Valeu pessoal
SM

3 Respostas

J

Mas porque você achou que lançaria exceção? Não vi nada d+ aí! Onde você achou que estava errado?

S

Tenho 2 arrays dentro de x com 4 elementos.
E depois eles ficam com 6 elementos.
Postei em um outro fórum. E me explicaram que isto é apenas um caso de atribuição e nada mais.
É isto mesmo, ne!?
t+

J

É você está atribuindo um novo vetor nas posições 0 e 1 do array, nada d+, um array nada mais é do que um objeto, então você pode atribuir um de qualquer tamanho aí, e acessar ele normalmente…

Criado 31 de maio de 2006
Ultima resposta 1 de jun. de 2006
Respostas 3
Participantes 2