Adlizm
Outubro 5, 2018, 3:53pm
#1
Oi gente. estou começando a aprende java e javafx e resolvi começar um projetinho pra testar meus conhecimentos. Criei a classe “Terreno” e tava querendo fazer um array de objetos dessa classe dai fiz isso aki.
public Terreno[] terreno = new Terreno[10];
ate ai n deu erro nenhum apontado no netbens mas quando tentei fazer
for(int i=0; i<10;i++){
terreno[i].setX(75 + i*120);
}
deu um erro ao copilar queria saber oque q ta errado com isso se eu fiz o array de um jeito errado ou alguma outra coisa errada sla.
STNeto
Outubro 5, 2018, 3:58pm
#2
Pode postar a classe Terreno?
Adlizm
Outubro 5, 2018, 4:01pm
#3
Ta ai:
package jump;
public class Terreno {
public int velx=0;
public int x,y,largura = 40,altura = 480;
public int getVelx() {
return velx;
}
public void setVelx(int velx) {
this.velx = velx;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getLargura() {
return largura;
}
public void setLargura(int largura) {
this.largura = largura;
}
public int getAltura() {
return altura;
}
public void setAltura(int altura) {
this.altura = altura;
}
public void atualiza(){
this.x += this.velx;
}
}
Perfeito, você criou um array de 10 posições, mas cada uma das posições está vazia.
Então se você tentar fazer terreno[posicao].qualquerMembro vai acontecer NullPointerException
Você precisa inicializar os elementos, você pode fazer assim:
for (int i = 0; i < 10; i++) {
Terreno elemento = new Terreno();
elemento.setX(75 + i * 120);
terreno[i] = elemento;
}
1 curtida
Adlizm
Outubro 5, 2018, 4:29pm
#5
Vou tentar aki dps mando o feedback. Vlw
Adlizm
Outubro 5, 2018, 5:08pm
#6
Deu certo aqui. Obrigado!!