Java - Ayuda con error de novato en Java

 
Vista:

Ayuda con error de novato en Java

Publicado por Mario (1 intervención) el 17/10/2006 23:59:21
He hecho este programa en Java pero me da un error en el metodo estadoEdificio cuando ejecuto un programa que usa la clase EdificioInteligente. El error que me sale es un java.lang.NullPointerException, sin embargo si pongo las mismas instrucciones en el constructor de la clase no da fallo. ¿Me podeis ayudar con el error?

Un saludo y gracias

public class EdificioInteligente {
//Crea los ordenadores y las luces que tendra el edificio
private Ordenador ordenadores[];
private int numeroLuces; int numeroPCs;
private Luces luces[];

EdificioInteligente(int numeroLuces, int numeroPCs) {
Luces luces[]= new Luces[numeroLuces];
Ordenador ordenadores[]= new Ordenador[numeroPCs];

for (int i=0; i<=numeroLuces-1 ;i=i+1){
luces[i]= new Luces();
luces[i].tipo("Normal");
}
luces[0].tipo("Emergencia"); //Considero que en la posicion 0 esta la de Emergencia

for (int i=0; i<=numeroPCs-1 ;i=i+1){
ordenadores[i]= new Ordenador();
}
this.numeroLuces= luces.length;
this.numeroPCs= ordenadores.length;

}



void estadoEdificio(){ //No Funciona, da fallo al acceder a luces[i], pero desde el constructor si se puede acceder ¿?
for (int i=0; i<=numeroLuces-1 ;i=i+1){
//System.out.println(numeroLuces);
//System.out.println(luces[0].estado());
System.out.println("Luz numero " +i +" " +luces[i].estado()); <------ Error aqui
}

for (int i=0; i<=numeroPCs-1 ;i=i+1){
System.out.println("Ordenador numero " +i + " " +ordenadores[i].estadoMonitor());
}
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con error de novato en Java

Publicado por Pollitux (2 intervenciones) el 18/10/2006 02:24:57
saludos. quiero hacer un pequeño segundero en java tengo el ide llamado jcreator
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda con error de novato en Java

Publicado por chuidiang (950 intervenciones) el 18/10/2006 06:21:16
Hola:

Aquí tienes un pequeño reloj http://www.chuidiang.com/java/timer/ejemplotimer.html
puedes bajarte los fuentes y modificarlos para lo que tú quieras.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda con error de novato en Java

Publicado por chuidiang (950 intervenciones) el 18/10/2006 06:19:20
Hola:

El problema es que tienes dos variables luces. Una de atributo de la clase, que dejas sin inicializar, otra declarada en el constructor. Prueba a cambiar esta linea del constructor

Luces luces[]= new Luces[numeroLuces];

por esta

luces[]= new Luces[numeroLuces];

Al no poner tipo delante, no estás declarando una nueva variable, sino usando el atributo de la clase.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar