por favor ajudem-me
Estou apanhando
a idéia do prog é a seguinte
criei uma classe person com dados sobre a pessoa em questão(variaveis)
e na classe “principal”(ObjectArray) eu quero criar um array q contenha as variaveis da classe person. A idéia é criar um tipo de cadastro.
Qnd boto p roda rno eclipse aparece a seguinte mensagem:
java.lang.NullPointerException
at ObjetoArray.main(ObjetoArray.java:23)
Exception in thread “main”
[code]
public class ObjectArray{
public static void main(String[] args) {
person pess= new person() ;
person a[]=new person[100];
a[0].tenis=1;
String as=String.valueOf(a[0].tenis);
System.out.println(as);
}
class person{
int blusa;
int tenis;
}
public class Deleteme {
public static void main(String[] args) {
person pess= new person() ;
person a[]=new person[100];
a[0] = new person(); //faltou isso, pequeno gafanhoto.
a[0].tenis=1;
String as=String.valueOf(a[0].tenis);
System.out.println(as);
}
}
Explicação: Você criou um array para suportar objetos do tipo person, mas não instanciou (ou seja, alocou) um objeto person na posição 0 do array.
ok
muito obrigado pela ajuda, mas estou tentando aprender esse troço no muque
consertei a parte da implementação do objeto
só que meu array tem 100 posições e eu naum quero fazer
class person{
int blusa;
int tenis;
}
public class ObjectArray{
public static void main(String[] args) {
person a[]=new person[100];
for (int i=0; i>100;i++){
a[i]=new person();}
a[1].tenis=2;
System.out.println(a[1].tenis);
}
}
Repara no i>100… lol pois é, os tais erros estúpidos de distracção…acontece-me tanta vez, ás vezes uma pessoa passa horas á volta do código e vê aquilo tudo certo quando é apenas um mero operador que está trocado grrrrrr!
public static void main(String[] args) {
// cria uma instância de Person
Person p = new Person();
// seta os valores para suas variáveis de instância
p.setTenis(12);
p.setBlusa(15);
Person a[] = new Person[100];
a[0] = p;
// imprime os valores
System.out.println("Tenis: " +a[0].getTenis());
System.out.println("Blusa: " +a[0].getBlusa());
}
}
class Person {
// usei encapsulamento, você acessará as variáveis através dos métodos
private int blusa;
private int tenis;
// this.blusa se refere ao objeto Person
public int getBlusa(){
return this.blusa;
}
Agradeço pela ajuda serjaumfantin. mas esse encapsulamento tornou o código enorme, e muito mais dificil d entender(fui salvo pelos seus comentários).
Não consegui ver muita utilidade nisso.
[quote=“nickrj1”]Agradeço pela ajuda serjaumfantin. mas esse encapsulamento tornou o código enorme, e muito mais dificil d entender(fui salvo pelos seus comentários).
Não consegui ver muita utilidade nisso.[/quote]
Se você não conseguiu ver utilidade, então lê sobre encapsulamento e tente entender, porque é realmente util e necessário.