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

Sumar datos de un arraylist

Estas en el tema de Sumar datos de un arraylist en el foro de Java en Foros del Web. Hola necesito ayuda en lo siguiente. Con numeros ingresados por consola tengo que identificar cuales son pares e impares y mostrar la suma de todos ...
  #1 (permalink)  
Antiguo 25/11/2009, 17:09
 
Fecha de Ingreso: noviembre-2009
Mensajes: 9
Antigüedad: 14 años, 5 meses
Puntos: 1
Sumar datos de un arraylist

Hola necesito ayuda en lo siguiente.

Con numeros ingresados por consola tengo que identificar cuales son pares e impares y mostrar la suma de todos los numeros pares y la suma de todos los numeros impares.

Los numeros pares e impares los estoy metiendo en dos ArrayList (pares, impares), pero no se como hacerlo para sumarlos, debo de tener en cuenta que el tamaño del arraylist varia dependiendo de lo ingresado.

Esto es lo que tengo

package log;

import java.util.ArrayList;
import java.util.Scanner;

public class Main {


public static void main(String[] args) {

System.out.println("Ingrese un numero: ");
Scanner sc=new Scanner(System.in);

try{

String numero=sc.nextLine();
ArrayList pares=new ArrayList();
ArrayList impares=new ArrayList();



for(int c=0;c<numero.length();c++){
int d=numero.charAt(c)%2;
if(d==0)
{
pares.add(numero.charAt(c));
System.out.println(numero.charAt(c)+" Es par ");


}

else if (d!=0)
{
impares.add(numero.charAt(c));
System.out.println(numero.charAt(c)+" Es impar");
}

}
}catch(Exception e){}

}

}
  #2 (permalink)  
Antiguo 26/11/2009, 02:11
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: Sumar datos de un arraylist

Este package me encanta porque cada vez que lo veo me vuelvo más fuzzy :)

Por cierto, que te parece meter los elementos identificados en sus correspondientes colecciones, pares e impares, y recorriendo la colección desde 0 a size()-2 hacer dentro la variable sumaCol = valor(i) + valor(i+1) [controla antes que la colección no te de un size de 1 elemento y para ese caso concreto sumaCol = valor(i).

Suerte ;)
  #3 (permalink)  
Antiguo 26/11/2009, 05:15
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Sumar datos de un arraylist

Las colecciones no se han de recorrer usando contadores, se han de recorrer usando Iterator o, como mucho, Enumeration.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #4 (permalink)  
Antiguo 26/11/2009, 05:53
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: Sumar datos de un arraylist

Perdón, correcto, con iterator.

//int, long o lo q sea
int sumaPar = 0;
//y hacer otro para impares
for (Iterator it = paresCollection.iterator(); it.hasNext();) {
//el valor del elemento del it puede no recogerse así
sumaPar = sumaPar + it.next().value;
}
//para comprobar que lo devuelva correctamente
System.out.println(sumaPar);
  #5 (permalink)  
Antiguo 26/11/2009, 07:50
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Sumar datos de un arraylist

Ya puestos, como no hace falta el indice y suponiendo Java >=5, lo más cómodo y conciso es un bucle for-each.

De todas formas, lo que devuelve nex() es del tipo Object, así que no puedes llamarle al método value(), que no lo tiene, y lo que hay dentro de la coleccion son String, que tampoco tiene ese método. Así que efectivamente la cuestión de la suma habría que "retocarla" .

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
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 06:34.