Duvida Array..p2

4 respostas
P

Olá,

uma duvida quando crio um array

int[][] valor= new int [2][];

qual e o tamanho desse array

o 2 é que possuo 0 e 1

[] qual sua criação null,0,??? essa é minha duvida ???

valor[0] [0]=1;

Exception in thread "main" java.lang.NullPointerException
	at br.com.prova.TestArray.main(TestArray.java:11)

4 Respostas

furutani

Olá

Você criou um array de array mais conhecido como matrix
No parte que você não especificou o tamanho, não tem tamanho nenhum se vc tentar acessar alguma posição vai dar NullPointerException.
Voce pode atribui um array posteriomente para poder corrigir isso

int[][] valor= new int [2][]; valor[0][0] = new int[3]; valor[1][0] = new int[3];

P

mais um duvida

qdo defino um array como bi e tento depois
definir para array normal dá erro é isso mesmo
não pode ???

int[][] valor= new int [2][];
        valor = new int[5];        //_______> nessa linha da erro 
        valor = new int[3][3];
        valor[0] [0]= 4;
        
       
        System.out.println(valor[0][0]);

--erro:
Type mismatch: cannot convert from int[] to int[][]
douglas_vidotto

No caso acima, como você ja definiu que voce tera 2 linhas, para cada linha voce pode definir quantas colunas quer

Exemplo:

int [][] valor = new int[2][]; //inicia vetor com 2 linhas

valor[0] = new int[5]; //cria 5 colunas para a linha 0
valor[1] = new int[3]; //cria 3 colunas para a linha 1

Quando ja definido o numero de linhas, voce tem que especificar o numero de colunas para cada uma delas.

Jeferson_Manetti
paribe:
mais um duvida

qdo defino um array como bi e tento depois
definir para array normal dá erro é isso mesmo
não pode ?????????

int[][] valor= new int [2][];
        valor = new int[5];        //_______> nessa linha da erro 
        valor = new int[3][3];
        valor[0] [0]= 4;
        
       
        System.out.println(valor[0][0]);

--erro:
Type mismatch: cannot convert from int[] to int[][]

olá...

no caso acima... vc estqa tentando colocar um array unidimensional em uma referencia a um array bidimensional tendeu...

confusi neh... olha nessa linha vc declarou um array bi:
int[][] valor= new int [2][];
aqui vc esta tentando colocar um array uni... em um bi q vc declarou na ref acima
valor = new int[5];
vc praticamente esta fazendo assimm...
int[][] valor = new int[5]
dai ele reclamo... pq ele não consegue converter um array uni em um bi... sacow!

espero ter ajudado... fui...

Criado 2 de novembro de 2008
Ultima resposta 4 de nov. de 2008
Respostas 4
Participantes 4