elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda, obtener datos de Objetos en ArrayList
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda, obtener datos de Objetos en ArrayList  (Leído 8,126 veces)
touchi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda, obtener datos de Objetos en ArrayList
« Respuesta #10 en: 28 Febrero 2015, 01:31 am »

Ahí organice un poco el despelote, gracias por sus respuestas voy a ponerme a terminar el ejercicio en base a tu ejemplo. Espero salga todo bien, gracias por tomarse el tiempo de darme una mano.


En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Ayuda, obtener datos de Objetos en ArrayList
« Respuesta #11 en: 28 Febrero 2015, 04:27 am »

De nada, siempre es grato ser de ayuda. Dado que éste tema se ha extendido mucho, ante alguna duda nueva crea otro tema.

Saludos.

PD: Lee sobre el patrón MVC y aplícalo a tu proyecto.


En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
touchi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda, obtener datos de Objetos en ArrayList
« Respuesta #12 en: 28 Febrero 2015, 08:46 am »

Vuelvo aquí con mas dudas, el código de la parte Reportes es algo así, gracias a Gus me ilumino. Lo que tengo en duda es.... en el código

Código
  1. public ReporteArticulo(ArrayList<Articulo> listaArticulos) {
  2.  
  3.    }
  4.  
  5.    public int[] getExistenciaTiposProductos(int tipo) {
  6.        final int TODOS = -1;
  7.        final int TIPO_1 = 0;
  8.        final int TIPO_2 = 0;
  9.        int tipo1cantidad = 0;
  10.        int tipo2cantidad = 0;
  11.        int requestCategoryExistences = 0;
  12.  
  13.        for(Articulo articulo : listaArticulos) {
  14.            if(tipo != TODOS) {
  15.                if(articulo.getTipo() == tipo) {
  16.                    requestCategoryExistences++;
  17.                }
  18.            } else {
  19.                if(articulo.getTipo() == TIPO_1)
  20.                  tipo1cantidad++;
  21.                if(articulo.getTipo() == TIPO_2)
  22.                  tipo2cantidad++;
  23.            }
  24.        }
  25.        if(tipo != TODOS)
  26.            return new int[] { requestCategoryExistences };
  27.        else
  28.            return new int[] {tipo1cantidad, tipo2cantidad};  
  29.  
  30.  
  31.    }
  32.  
  33.  
  34.  
  35.     public Double getTotalDineroProductos() {
  36.        Double montoTotal = 0d;
  37.      for(Articulo articulo : listaArticulos) {
  38.            montoTotal += articulo.getPrecio();
  39.        }
  40.        return montoTotal;
  41.  
  42.  
  43.    }
  44.  
  45.     public Articulo getProductoMasCaro() {
  46.        Articulo masCaro = listaArticulos.get(0);
  47.  
  48.        for(Articulo articulo : listaArticulos) {
  49.            if(articulo.getPrecio()> masCaro.getPrecio())
  50.                masCaro = articulo;
  51.        }
  52.  
  53.        return masCaro;
  54.  
  55.    }
  56.  

Como lo hizo Gus comparaba los tipos según los datos ingresados un poco mas arriba, ahora.... yo a los datos los tengo en un ArrayList en donde estan TODOS los datos "codigo, tipo, precio,etc" si uso el codigo tal cual pero llamando a los datos del Array estaría recorriendo siempre el mismo Articulo? debería usar un interator?

En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Ayuda, obtener datos de Objetos en ArrayList
« Respuesta #13 en: 28 Febrero 2015, 13:13 pm »

No, la estructura que use para recorrer la lista de productos se llama foreach. Se usa principalmente cuando solo quieres recorrer para extraer inormacion y no para realizar operaciones con los elementos de la lista. Para lo otro se usa un iterator o un for común.

El foreach recorre elemento por elemento y el elemento actual es representado por la variable ProductVO (obviamente es necesario que sea del tipo de objeto que almacena la lista):
Código
  1. for(ProductVO product : productsList)
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
touchi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda, obtener datos de Objetos en ArrayList
« Respuesta #14 en: 28 Febrero 2015, 23:12 pm »

Debuggeando el programa nos da el error que esta detallado abajo, pero checkeando el tamaño de  "listaArticulos" (usando size(); en el arrayList) y efectivamente devuelve datos. 


Código
  1. public String getProductoMasCaro() {
  2.  
  3.            masCaro =  listaArticulos.get(0); // esta linea tira un error de Method "get" is called on null object.
  4.  
  5.            for(Articulo articulo : listaArticulos) {
  6.            if(articulo.getPrecio()> masCaro.getPrecio())
  7.            masCaro = articulo;
  8.        }
  9.  
  10.  
  11.             return masCaro.getNombre();
  12. }
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Ayuda, obtener datos de Objetos en ArrayList
« Respuesta #15 en: 28 Febrero 2015, 23:21 pm »

¿Qué error detallado? Yo no veo nada.

Update: El error es el que has puesto como comentario, ya lo ví.

Acostúmbrate a analizar el rastreo de pila que bota la VM cuando hay una excepción. Allí hay mucha info.

Te está diciendo que listaArticulos está sin inicializar. ¿Dónde creas los productos y los guardas en la lista? Muéstrame ese trozo de código.
« Última modificación: 28 Febrero 2015, 23:24 pm por Gus Garsaky » En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
touchi

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda, obtener datos de Objetos en ArrayList
« Respuesta #16 en: 28 Febrero 2015, 23:50 pm »

Ya lo pude solucionar, faltaba pasar los datos por parámetro en la función. Los datos pasaban y cuando llegaban a la función "se borraban". Muchísimas gracias Gus y disculpa por no hacer las cosas debidamente, la  verdad estaba un tanto desesperado por que se me viene encima el examen y no podía ni hacer funcionar la aplicación de practica. Mil gracias por ayudar a los que comentaron!!!


Código
  1. public String getProductoMasCaro(ArrayList<Articulo> listaArticulos) { //esto soluciono el problema
  2.  
  3.  
  4.         masCaro =  listaArticulos.get(0);
  5.  
  6.  
  7.        for(Articulo articulo : listaArticulos) {
  8.            if(articulo.getPrecio()> masCaro.getPrecio())
  9.                masCaro = articulo;
  10.        }
  11.  
  12.             return masCaro.getNombre();
  13.  
  14.  
  15.  
  16.         }
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Ayuda, obtener datos de Objetos en ArrayList
« Respuesta #17 en: 28 Febrero 2015, 23:57 pm »

¿Todo solucionado entonces? Genial. Fue un placer haber ser de ayuda. Cualquier duda nueva no dudes en crear un tema.

Saludos!
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
consulta ciclo for 100.000.000 de datos en un arraylist
Java
neomadara 2 1,799 Último mensaje 1 Mayo 2014, 22:04 pm
por ivancea96
ArrayList varios tipos de Objetos
Java
Winterz 0 1,722 Último mensaje 28 Mayo 2014, 17:36 pm
por Winterz
¿Cómo manejar un ArrayList de objetos?
Java
luchi 2 3,012 Último mensaje 3 Septiembre 2016, 18:28 pm
por luchi
Obtener datos de un ArrayList [Editado]
Java
i33naxo 0 2,387 Último mensaje 12 Diciembre 2016, 23:26 pm
por i33naxo
Ayuda agregando objetos a un ArrayList
Java
Casvill 6 2,614 Último mensaje 7 Enero 2019, 21:31 pm
por antopixel
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines