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

Problemas al leer los objetos

Estas en el tema de Problemas al leer los objetos en el foro de Java en Foros del Web. Hola a tod@s, Tengo que entregar un trabajo como final de proyecto de una aplicacion para un concesionario.El caso es el siguiente tengo una clase ...
  #1 (permalink)  
Antiguo 10/12/2012, 16:19
Avatar de kiristof  
Fecha de Ingreso: julio-2012
Mensajes: 49
Antigüedad: 11 años, 10 meses
Puntos: 0
Problemas al leer los objetos

Hola a tod@s,

Tengo que entregar un trabajo como final de proyecto de una aplicacion para un concesionario.El caso es el siguiente tengo una clase llamada coches.Esa clase esta creada con un array de 10.Al compilar la aplicacion solo se cargan 8 objetos ya que son los que tengo.El caso es que tiene un menu la aplicacion(consola) en donde se elige una opcion que te muestra solo los coches que estan en venta y no todos los coches que tienes.Una de las propiedades se llama estado lo que hago para que solo se me muestra las que deben de mostrarse es lo siguiente pero no me funciona.

for(int i=0;i <10 ; i++)
{
if(A[i].getEstado() !="vendido")

}

Al realizar esto me hace un bucle y me aparece indefinidamente los que estan en venta. He probado haciendo lo siguiente.
for(int i=0;i <10 ; i++)
{
if(A[I].getEstado()!= null)
{
if(A[i].getEstado() !="vendido")

}
Con esto lo que quiero conseguir es que no vaya a mas de los que no hay digamos creados ya que solo se cargarian 8 y el for llegaria a 10.

Un saludo y muchas gracias de antemano.
  #2 (permalink)  
Antiguo 11/12/2012, 02:10
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: Problemas al leer los objetos

for(int i=0;i <10 ; i++) => Este bucle va de 0 a 9, y por tanto se ejecuta 10 veces.

A[i] > ¿Para qué tienes un array de 10 elementos si solo vas a tener 8 objetos? Ten en cuenta que las posiciones ya están creadas, y vendrá un objeto o null según el caso. Plantéate usar un ArrayList mejor. (y así el bucle lo puedes hacer con respecto al size() del ArrayList.

Dónde haces el control de excepciones? Si A[i] es null A[i].getEstado() provoca un NullPointerException. Esto se soluciona con el planteamiento de la línea anterior, pero nunca está de más hacerlo.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 11/12/2012, 03:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Problemas al leer los objetos

Hola,
a parte de lo que comenta el compañero Fuzzylog, si vas a recorrer un array, cuando declares el bucle en vez de hacerlo por la posición fija (en este caso de 10), hazlo por el tamaño del array.

Cuando evaluas si getEstado es != "vendido" deberías emplear equals()

Un saludo!
  #4 (permalink)  
Antiguo 11/12/2012, 09:40
Avatar de jcMouse  
Fecha de Ingreso: noviembre-2009
Ubicación: Bolivia
Mensajes: 116
Antigüedad: 14 años, 5 meses
Puntos: 9
Respuesta: Problemas al leer los objetos

para no complicarte con la longitud del array, utiliza MAP ahí y metes y sacas objetos cuantas veces quieras y no tienes que preocuparte por la longitud


se malo

:)
__________________
Problem?
Estoy aquí
Foro Code Army
  #5 (permalink)  
Antiguo 11/12/2012, 14:25
Avatar de kiristof  
Fecha de Ingreso: julio-2012
Mensajes: 49
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas al leer los objetos

Lo he puesto mas grande al crearlo ya que en el mismo menu de la aplicaicon te deja dar de alta un coche y por eso lo pongo mas alto.En principio al hacerlo me aparece un error al realizar el if(A[i].getEstado()!= "vendido") y.He utilizado equals de esta manera y me aparece error
String ven= "vendido";
if(A[i].getEstado.equals(ven)

Pero al ejecutarlo me aparece el siguiente error
1 Atron Advanced azul 2012 20000
3 Strister Advanced amarillo 2012 15000
Exception in thread "main" java.lang.NullPointerException
4 Atron Advanced amarillo 2012 25000
5 Atron Advanced azul 2012 30000
6 Atron Advanced azul 2012 27000
at prueba.Prueba.main(Prueba.java:39)
7 Atron Advanced azul 2012 28000
8 Atron Advanced azul 2012 24000
  #6 (permalink)  
Antiguo 12/12/2012, 11:26
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: Problemas al leer los objetos

if(A != null && A[i] != null) {
// Evita los nullpointers generalmente
}

Ya te dije que hicieses control de excepciones :S
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #7 (permalink)  
Antiguo 13/12/2012, 11:47
Avatar de kiristof  
Fecha de Ingreso: julio-2012
Mensajes: 49
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas al leer los objetos

Perdona pero estado mirando y la verdad que no se como hacerlo.Sigo sin conseguir que me indique cual es el primero que esta vacio del array.Consigo que me diga los que hay escritos pero enseguida me aparece el error ese que comentaba mas arriba.Me podrias dar los pasos para hacerlo ya que llevo dias volviendome loco y seguro que es una tonteria.En principio es un array de 10 que 8 estan rellenos .No entiendo ademas porque da error al realizar el if(A[i].getPrecio()!=null) deberia de ponerme toods los que sean diferentes y no me tendria porque dar error.

Un saludo y perdon por preguntar estas cosas.
  #8 (permalink)  
Antiguo 13/12/2012, 12:02
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: Problemas al leer los objetos

Ya te lo expliqué en la respuesta anterior

Si A es null A[i] entonces va a provocar un nullpointer.
Si A[i] es null entonces A[i].getPrecio() va a provocar un nullpointer.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #9 (permalink)  
Antiguo 13/12/2012, 12:20
Avatar de kiristof  
Fecha de Ingreso: julio-2012
Mensajes: 49
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas al leer los objetos

Vale perdona que ya lo entendido lo que me quieres decir que no puedo valor null para comprobarlo en el if perdona.
  #10 (permalink)  
Antiguo 17/12/2012, 08:10
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Problemas al leer los objetos

Lo que te intenta decir es que si un objeto es susceptible de estar nulo, que evalues antes si es nulo antes de hacer tu comparación, porque sino, no obstendrás un "false", obtendrás una Excepción en toda regla.
  #11 (permalink)  
Antiguo 19/12/2012, 10:48
Avatar de kiristof  
Fecha de Ingreso: julio-2012
Mensajes: 49
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Problemas al leer los objetos

Vale lo estaba haciendo al reves ,muchas gracias por vuestra ayuda

Etiquetas: clase, objetos, aplicaciones
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 19:37.