Matriz

3 respostas
fer.ferreira6

Boa Tarde Galera.

Começei a aprender Java a pouco tempo (2 dias).
To com duvida em matrizes,

Por exemplo, neste código:

public class ProgramaTeste
{
	public static void main(String[] args)
	{
		Teste[] t1 = new Teste[2];
		
		t1[0].latir(15);
		t1[1].latir(80);	
	}
}

Dá o seguinte erro: Exception in thread “main” java.lang.NullPointerException at ProgramaTeste.main(ProgramaTeste.java:7)
(linha 7 = t1[0].latir(15).

Qual é o problema?

3 Respostas

fer.ferreira6

Acho que descobri.

Fiz isso e funciono:

public class ProgramaTeste
{
	public static void main(String[] args)
	{
		Teste[] t1 = new Teste[2];
		t1[0] = new Teste();
		t1[1] = new Teste();
		
		t1[0].latir(15);
		t1[1].latir(80);	
	}
}

Mas toda vez que declarar uma matriz, tenho que usar o new em cada posição,
Por exemplo:
Se declarar uma matriz de 50 posições, vou ter que ter 50 "matriz[posicao] = new classe();" ?

Tchello

Exatamente.
Quanto você cria uma matriz ela vem com todos os campos vazios, em outra palavra: nulos.
Daí quando você tenta acessa-los na verdade na existe nada nas posições, daí um null pointer exception (acostume-se a lê-lo como N.P.E.).
Essa exceção é extremamente comum a quem está começando a aprender java, jajá você se acostuma.

Qualquer coisa posta ai!
Abraços.

fer.ferreira6

Ahh entendo,
Faz sentido, creio que cai o risco de quebra de sistema.

Valeu Tchello.

Criado 16 de maio de 2010
Ultima resposta 16 de mai. de 2010
Respostas 3
Participantes 2