Array multidimensional

5 respostas
J

Olá pessoa, sou novato em java…

queria saber se só posso colocar arrays (normais) dentro dos arrays multidimensionais?

não posso por exemplo colocar um valor (tipo int x=7).

int[][] numeros = new int[9][];
numeros[0]=7         // aqui da erro.

5 Respostas

Andre_Fonseca

javanovato:
Olá pessoa, sou novato em java…

queria saber se só posso colocar arrays (normais) dentro dos arrays multidimensionais?

não posso por exemplo colocar um valor (tipo int x=7).

int[][] numeros = new int[9][];
numeros[0]=7         // aqui da erro.

oi

vc declarou um array bidimensional, e esta tentando inicializar a posicao 0 dele com um int, essa posicao aceita um array de uma dimensao

o certo é fazer

numeros[0][0] = 10
benflodin

De uma forma mais clara ainda seria:

int[][] power = new int[1][1];
int[] normal = {1};

power[0] = normal;
Thiago_Luis

Fala cara, blza?

Então, a atribuição que vc fez está errada.
Você criou um array bidimensional e tentou atribuir um valor a um array normal.
Arrays bidimensionais (Matriz) são análogos a uma tabela. Possui linhas e colunas.

Aqui: int[][] numeros = new int[9][]; vc criou uma matriz com 9 linhas mas não declarou quantas colunas vc quer. Sempre deixe claro a uma matriz quantas linhas e colunas vão ter a matriz.

Exemplo:

int[][] array = new int[3][3];

Criei uma matriz 3x3.
Se eu quiser ir setando os valores em cada “campo” da matriz, seria assim:

array[0][0] = 10; array[0][1] = 23; array[0][2] = 3; array[1][0] = 4; array[1][1] = 45; array[1][2] = 90; array[2][0] = 11; array[2][1] = 14; array[2][2] = 2;
É claro que essa é uma péssima idéia de se fazer inserções no array, deve-se fazer com estruturas de repetição.

Lembrando que todo array (bidimensional e unidimensional), a sua primeira posição é 0 e a ultima e o tamanho do array -1, no nosso caso 2, e não 3.

o array ficaria assim:

10, 23, 3 4, 45, 90 11, 14, 2

Abraço.

luciano.eti

de uma olhada nisso…

you can assign an array a null value but you can’t create an empty array by using a blank index

int[] array = null;             // legal
// illegal initialization
int[] array = new int[];       </blockquote>

Referência completa: http://www.janeg.ca/scjp/lang/arrays.html

espero que ajude…

[]]'s

Luciano

danielJaponeis

Você pode criar dessa forma tambem:

int[][] numeros = new int[9][]; numeros[0] = new int[2]; numeros[0][0]=5; numeros[0][1]=7; numeros[1] = new int[5]; numeros[0][0]=2; numeros[0][1]=8; numeros[0][2]=3; numeros[0][3]=5; numeros[0][4]=6;

sem necessariamente dizer quantas colunas existem dentro de cada linha^^"

Criado 22 de maio de 2009
Ultima resposta 26 de mai. de 2009
Respostas 5
Participantes 6