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

AYUDAAA! sumar elementos de una lista (java)

Estas en el tema de AYUDAAA! sumar elementos de una lista (java) en el foro de Java en Foros del Web. Hola, nececito ayuda porfavoor!! Tengo una ventana con un JList que se llama listaPrecios, recibe de una base de datos una lista de precios que ...
  #1 (permalink)  
Antiguo 09/09/2010, 12:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta AYUDAAA! sumar elementos de una lista (java)

Hola, nececito ayuda porfavoor!!

Tengo una ventana con un JList que se llama listaPrecios, recibe de una base de datos una lista de precios que puede variar tanto la cantidad de precios como los valores.
Logre que se agreguen los precios a la lista con este codigo:
En la clase de la ventana:
DefaultListModel modelo = new DefaultListModel();

Y luego en el contructor:
listCursos.setModel(modelo);
despues hago la conexion a la base de datos y despues pongo esto para que me agregue los precios de la base de datos a la lista:

try{
rs = st.executeQuery("select * from Precios");

while (rs.next()){
modelo.addElement (rs.getFloat(1));

}catch(SQLException sql){
System.out.println(sql.getMessage());
}

Hasta ahi va todo perfecto pero luego tengo un boton que se llama btnTotal, que al presionarlo tiene que sumar todos los precios que estan en el jlist y en un label mostrar el total.

Busque por todos lados y no encontre como se hace para sumar los elementos del jlist! intente hacerlo a mi manera pero fue imposible!

en google no encontre nada, no puede ser tan dificil. Me quiero matar! ademas hace ya dos dias que no puedo seguir programando porque me quede trancado en eso, no puedo sumar los precios!

Nececito ayuda urgente porfavor!!

si alguien sabe el codigo sumar los precios de la lista que me diga porfavor

Gracias
  #2 (permalink)  
Antiguo 09/09/2010, 13:02
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: AYUDAAA! sumar elementos de una lista (java)

Prueba con:

Código:
double total = 0;
 for(int i = 0;  i  <  jList.getModel().getSize();  i++) {
     total += ( (Number) (jList.getModel().getElementAt(i)) ).doubleValue();
 }
  #3 (permalink)  
Antiguo 09/09/2010, 13:25
 
Fecha de Ingreso: septiembre-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: AYUDAAA! sumar elementos de una lista (java)

gracias por responder!!!

probe con ese codigo pero lamentablemente me dio un error:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number
  #4 (permalink)  
Antiguo 09/09/2010, 14:53
 
Fecha de Ingreso: enero-2009
Mensajes: 29
Antigüedad: 16 años
Puntos: 1
Respuesta: AYUDAAA! sumar elementos de una lista (java)

Yo los convertirian primero a Double antes de irlos agregando a la Lista. de la siguiente manera:

while (rs.next()){

String cantidadS=""+rs.getFloat(1);
Double cantidadD=Double.parseDouble(cantidadS);
modelo.addElement (cantidadD);

}

Ahi seria mas facil ir sumando las Cantidades por que ya estarian como 'Double'
Espero te sirva de algo mi respuesta, saludos
  #5 (permalink)  
Antiguo 09/09/2010, 17:35
 
Fecha de Ingreso: septiembre-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Sonrisa Respuesta: AYUDAAA! sumar elementos de una lista (java)

gracias por las respuestas, ya pude hacer que sumara los elementos de la lista con este código:

Código:
float suma=0;
float numero=0;
String cadena="";

for (int i=0; i < jList1.getModel().getSize(); i++){

cadena = jList1.getModel().getElementAt(i).toString();
numero = Float.parseFloat(cadena);
suma = suma + numero;
}

Ahora tengo otra duda. ¿No hay alguna forma que en lugar de sumar todos los elementos del jList, sume solo los elementos seleccionados?

Por ejemplo si en la lista estan: 30, 10, 15. y selecciono el 30 y el 10. sume 40 y no 55...
si me pueden ayudar en esto son unos genios!!


edito:
ALELUYAAAAAAAA!!!!!:

lo logreeeeeeeeeee!!! despues de 8 horas seguidas intentando lo logre!

Código:
float suma=0;
float numero=0;
String cadenaDEstring="";
Object[] cadena = jList1.getSelectedValues();
int h = cadena.length;

for (int i=0; i < h; i++){
cadenaDEstring= cadena[i].toString();
numero = Float.parseFloat(cadenaDEstring);
suma = suma + numero;
}
con ese codigo suma los elementos seleccionados de un jlist!

Última edición por malonso312; 09/09/2010 a las 21:40

Etiquetas: elementos, lista
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 03:01.