| 
	
		|  Autor | Tema: Ayuda, obtener datos de Objetos en ArrayList  (Leído 8,989 veces) |  
	| 
			| 
					
						| touchi 
								
								 Desconectado 
								Mensajes: 8
								
								
								
								
								
								   | 
 
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 
								Mensajes: 625
								
								   | 
 
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 
								Mensajes: 8
								
								
								
								
								
								   | 
 
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  public ReporteArticulo(ArrayList<Articulo> listaArticulos) {     }     public int[] getExistenciaTiposProductos(int tipo) {        final int TODOS = -1;        final int TIPO_1 = 0;        final int TIPO_2 = 0;        int tipo1cantidad = 0;         int tipo2cantidad = 0;        int requestCategoryExistences = 0;         for(Articulo articulo : listaArticulos) {            if(tipo != TODOS) {                if(articulo.getTipo() == tipo) {                    requestCategoryExistences++;                }            } else {                if(articulo.getTipo() == TIPO_1)                  tipo1cantidad++;                if(articulo.getTipo() == TIPO_2)                  tipo2cantidad++;            }        }        if(tipo != TODOS)            return new int[] { requestCategoryExistences };        else            return new int[] {tipo1cantidad, tipo2cantidad};        }        public Double getTotalDineroProductos() {      for(Articulo articulo : listaArticulos) {            montoTotal += articulo.getPrecio();        }        return montoTotal;      }      public Articulo getProductoMasCaro() {        Articulo masCaro = listaArticulos.get(0);         for(Articulo articulo : listaArticulos) {            if(articulo.getPrecio()> masCaro.getPrecio())                masCaro = articulo;        }         return masCaro;     } 
 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 
								Mensajes: 625
								
								   | 
 
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): 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 
								Mensajes: 8
								
								
								
								
								
								   | 
 
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.   public String getProductoMasCaro() {             masCaro =  listaArticulos.get(0); // esta linea tira un error de Method "get" is called on null object.             for(Articulo articulo : listaArticulos) {            if(articulo.getPrecio()> masCaro.getPrecio())            masCaro = articulo;        }               return masCaro.getNombre(); }
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Usuario Invitado 
								 
								
								 Desconectado 
								Mensajes: 625
								
								   | 
 
¿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 
								Mensajes: 8
								
								
								
								
								
								   | 
 
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!!!  public String getProductoMasCaro( ArrayList< Articulo>  listaArticulos) { //esto soluciono el problema           masCaro =  listaArticulos.get(0);          for(Articulo articulo : listaArticulos) {            if(articulo.getPrecio()> masCaro.getPrecio())                masCaro = articulo;        }              return masCaro.getNombre();            }
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Usuario Invitado 
								 
								
								 Desconectado 
								Mensajes: 625
								
								   | 
 
¿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 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | consulta ciclo for 100.000.000 de datos en un arraylist Java
 | neomadara | 2 | 1,988 |  1 Mayo 2014, 22:04 pm por ivancea96
 |  
						|   |   | ArrayList varios tipos de Objetos Java
 | Winterz | 0 | 1,823 |  28 Mayo 2014, 17:36 pm por Winterz
 |  
						|   |   | ¿Cómo manejar un ArrayList de objetos? Java
 | luchi | 2 | 3,208 |  3 Septiembre 2016, 18:28 pm por luchi
 |  
						|   |   | Obtener datos de un ArrayList [Editado] Java
 | i33naxo | 0 | 2,516 |  12 Diciembre 2016, 23:26 pm por i33naxo
 |  
						|   |   | Ayuda agregando objetos a un ArrayList Java
 | Casvill | 6 | 3,080 |  7 Enero 2019, 21:31 pm por antopixel
 |    |