Foros del Web » Programación para mayores de 30 ;) » Java »

Problema en ArrayList

Estas en el tema de Problema en ArrayList en el foro de Java en Foros del Web. hola gente! soy nuevo en el foro, me llamo enzo XD tengo una duda en java, capaz es una idiotez, pero bueno :S tengo una ...
  #1 (permalink)  
Antiguo 18/12/2009, 19:11
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Problema en ArrayList

hola gente! soy nuevo en el foro, me llamo enzo XD
tengo una duda en java, capaz es una idiotez, pero bueno :S

tengo una Interface creada, llamada AsientoDeAvion
el contenido de la interface es este
interface AsientoDeAvion
{
int getFila();
char getColumna();
String getTipo();
boolean esVentanilla();
boolean esPasillo();
boolean tieneTVIndividual();
boolean tieneConexionInternet();
boolean esCama180();
}

y tengo una clase q implementa esta interface, llamada ImplTurista
public class ImpTurista implements AsientoDeAvion{
private int fila;
private char columna;
private String tipo;
private boolean Ventanilla;
private boolean Pasillo;
private boolean TvIndividual;
private boolean ConexionInternet;
private boolean Cama180;

public ImpTurista(int fila,char columna,String tipo,boolean Ventanilla,boolean Pasillo,boolean TvIndividual,boolean ConexionInternet,boolean Cama180)
{
this.fila=fila;
this.columna=columna;
this.tipo=tipo;
this.Ventanilla=Ventanilla;
this.Pasillo=Pasillo;
this.TvIndividual=TvIndividual;
this.ConexionInternet=ConexionInternet;
this.Cama180=Cama180;
}

public int getFila() {
return fila;
}

public char getColumna() {
return columna;
}

public String getTipo() {
return tipo;
}

public boolean esVentanilla() {
return Ventanilla;
}

public boolean esPasillo() {
return Pasillo;
}

public boolean tieneTVIndividual() {
return TvIndividual;
}

public boolean tieneConexionInternet() {
return ConexionInternet;
}

public boolean esCama180() {
return Cama180;
}

despues en el main por ejemplo, nuestro profesor creo esto...
static ArrayList<AsientoDeAvion> asientos;

y al agregar un ImpTurista me tira null pointer exeption
asientos.add(new ImpTurista(fila,columna,"Turista",Ventanilla,Pasil lo,false,false,false));

alguien q me de una manito D=
no puedo cambiar el arraylist, osea tiene q recivir AsientoDeAvion si o si, y nose como pasarle un ImpAsiento...
desde ya muchas gracias
  #2 (permalink)  
Antiguo 18/12/2009, 20:47
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema en ArrayList

Hola

No sería mejor que el ArrayList fuera de tipo ImpTurista? Al declarar ImpTurista el tipo del ArrayList podrías llamar a todos esos métodos que necesitas y que asu vez llaman a la intrerface.

El null que te manda es porque no has inicializado el objeto de la clase ImpTurista. Primero deberías probar eso. Porque lo estás declarando de un tipo y le indexas otro. Primero sería inicializar los objetos de la clase que necesites guardar en el ArrayList. Ojalá esto sólo sea el problema

  #3 (permalink)  
Antiguo 18/12/2009, 21:39
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Problema en ArrayList

holas! gracias por la respuesta, intente hacer esto
ImpTurista X = new ImpTurista(valores);
asientos.add(X);
y me da error tambien :S
EDIT:
intente tambien hacer esto
AsientoDeAvion X = new ImpTurista(valores);
y me lo toma como correcto (uso netbeans como ide)
y al hacer el asientos.add(X);
me tira error tambien, raro _-_

el tema es que el profesor lo creo del tipo AsientoDeAvion y no lo podemos modificar, tipo, el profesor nos da un ejercicio con el main hecho y tenemos q agregarle lo q falta

el lo hizo del tipo AsientoDeAvion al arraylist por q no solo agrego los asientos ImpTurista, sino tambien los ImpBussines y ImpVIP a ese mismo array...
espero q se entienda D=
  #4 (permalink)  
Antiguo 18/12/2009, 22:19
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema en ArrayList

Hola

Supongo que tienes lo siguiente (todo dentro del main):

static ArrayList <ImpTurista> asientos = new ArrayList <ImpTurista>();
ImpTurista x = new ImpTurista(valores);
asientos.add(x);

Suponiendo que valores es signifcativo representando el paso de tooodos los parámetros que recibe en constructor, es cierto?

La duda que tengo es si estás inicializando el ArrayList. A ver qué tal
  #5 (permalink)  
Antiguo 18/12/2009, 23:28
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Problema en ArrayList

noooooooo
pero q pelotudo galopante :S
tenes muchisima razon, me falto inicializar el arraylist :S
ahora quedo asi, y anda perfectamente

el profesor en el main, puso esto
ArrayList<AsientoDeAvion> asientos;

y yo en la parte que si podia editar tenia q poner esto...
asientos = new ArrayList<AsientoDeAvion>();
y recien ahi agregar
asientos.add(new ImpTurista(datos para el constructor));
q boludo :S
gracias por la paciencia y la ayuda amigo!
  #6 (permalink)  
Antiguo 19/12/2009, 00:29
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema en ArrayList

jojo sí, suele pasar. Tenlo en cuenta de ahora en adelante, revisa esos detalles primero que generalmente cuando tienes un error y no das con él en un buen rato es por algún descuido nuestro así que ya tienes otro punto que guardar en tu cajita de errores más comunes.

Saludos
  #7 (permalink)  
Antiguo 22/12/2009, 02:24
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema en ArrayList

Una cosita, dado que java es un lenguaje orientado a objetos, ¿por que no creas una clase llamada DatosBillete que contenga todas las variables que les estás metiendo a las interfaces y así cada vez que llames a una interfaz únicamente lo harías con un objeto datos Billete?

Lo digo pq me parece una forma mucho más sencilla de aprovechar el código.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:53.