Questão Array

Master Exam:

Quais das seguintes alternativas poderão ser inseridas após //insert code here

public class Array1 {

	public static void main(String[] args) {
		
		short b[][] = new short[4][4];
		short big[][] = new short[2][2];
		short b3 = 8;
		short b2[][][][] = new short[2][3][2][2];
		//insert code here
	}

}
/*
 * A b2[1][1] = big;
 * B b[1][0] = b3;
 * C b2[0][1][1] = b;
 * D b2[0][2][1] = b[1][0];
 * E b2[1][1][0][1] = b[1][0];
 * F b2[1][1] = b;
 * 
 */

as alternativas correta são a, b, e, f
existe alguma fórmula para saber como manipular arrays acima de 3 dimensões, por exemplo não entendi a letra E

editando: sei que um item de um array de 4 dimensões pode receber um de 2 dimensões, mas por exemplo se fosse um array de 5 dimensões como funcionaria???..

Olá vmsb11.

a) b2[1][1] = big; (o array big tem 2 dimensões. Então, qualquer expressão da forma b2[x][y] = big, com x e y dentro dos limites, pode ser atribuída à b2[x][y])

b) b[1][0] = b3; (b[x][y] é um único byte. Logo, como b3 também é um único byte, essa atribuição está correta)

c) b2[0][1][1] = b; (b2[x][y][z] armazena um outro array unidimensional. Como b é um array bidimensional, esta atribuição está incorreta)

d) b2[0][2][1] = b[1][0]; (b2[x][y][z] armazena um array unidimensional. b[1][0] é somente um número (dimensão 0), logo, não é valido)

e) b2[1][1][0][1] = b[1][0]; (b2[x][y][z][t] armazena somente um número. Como b[1][0] é um número (e não um array), essa atribuição é valida!)

f) b2[1][1] = b; (b2[x][y] armazena um array bidimensional. b é um array bidimensional, logo, esta atribuição é válida também!)

A regra prática é: vc olha quantas dimensões falta no array. Só é possível atribuir um outro array com essa dimensão restante. Caso a dimensão restante for 0, só é possível atribuir um único valor daquele tipo (e não um outro array).

Obrigado TiagoC pela ajuda…
até matrizes tridimensionais eu entendo só quando passa de 3 ai complica rsrsrsrs…
vlw pela ajuda…

[quote=vmsb11]Obrigado TiagoC pela ajuda…
até matrizes tridimensionais eu entendo só quando passa de 3 ai complica rsrsrsrs…
vlw pela ajuda…[/quote]

Mas qual é a sua dúvida em matrizes de 4 dimensões em diante? A idéia é exatamente a mesma.

isso msm de 4 em diante mas ja entendi a sua explicação…
vlw pela ajuda…se precisar de alguma ajuda eh so pedir…

Deixa eu aproveitar o tópico, eu tb tenho dificuldade nessa parte de array, bidimensional e unidimensional até agora foi a única parte do livro que não entendi bem, tem como vcs me ajudarem?

Diz ae quais são suas dúvidas Everton! :thumbup:

Rapaz Thiago eu vou até ler essa parte de novo de arrays bidimensionais pq na pratica nunca usei então nem tenho idéia de como funciona, pra mim isso:

int a[][][]; não era unidimensional, não sei se estou errado mas pelo comentario de voces é ne ou nao? Entao nao sei como funciona as iterações nesses arrays e tals, mas eu vou da uma lida d novo, e com ajuda de vcs espero entender ehehe.