Imprimindo um vetor todo ao mesmo tempo == resultado louco

1 resposta
T

:shock:
Estava testando qual seria o resultado ao tentar imprimir um array tridimensional de inteiros. Se eu tento imprimir uma "linha" da array inteira por vez o Java imprime uns códigos loucos, me lembrou muito o que o C++ exibe quando mal programado...
Imaginem o array tridimensional como um cubo. Uma dimensão é um quadradinho (uma posição de um array), duas seria um plano bidimensional de quadrados, e tres seriam 10 planos bidimensionais grudados.

public class G{
   
    public static void main(String args[]){
    	 int[][][] a = new int[10][10][10];
    	 for(int[][] is : a){
    	    for(int i[] : is){
    	    	System.out.println(i);
    	    }
    	 }
    }
 }

Para exibir o resultado esperado de cada posição do array foi necessário apenas inserir uma linha e modificar no momento de imprimir na tela:

public class G{
	   
	    public static void main(String args[]){
	    	 int[][][] a = new int[10][10][10];
	    	 for(int[][] is : a){
	    	    for(int i[] : is){
	    	    	for (int j : i)
	    	    		System.out.println(j);
	    	    }
	    	 }
	    }
	 }

O que acontece é que no primeiro código tento imprimir uma linha inteira de um plano de cada vez, são impressos 100 sequencias de valores sem sentido.
No segundo código imprimi-se os valores armazenados em um posição única do array tridimensional a[][][]

1 Resposta

T

Blz?

O que vc imprimiu no primeiro código foi o endereço de memória e não o valor armazenado dentro do array,ok?

t+

Criado 29 de agosto de 2007
Ultima resposta 30 de ago. de 2007
Respostas 1
Participantes 2