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
| | | |-+  Sacar el promedio de un arrar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Sacar el promedio de un arrar  (Leído 6,666 veces)
Octsam

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Sacar el promedio de un arrar
« Respuesta #10 en: 21 Julio 2016, 14:09 pm »


Si entiendo que quieres hacer una lista, pero no sé si el mismo producto tiene el mismo precio, en cuyo caso no tiene sentido hacer un promedio, pues sería el precio que tienen en común; o si como sugiere ahora tu ejemplo hay varios productos con el mismo nombre y precios distintos, y quieres obtener el promedio.



En línea

Sempai15

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Sacar el promedio de un arrar
« Respuesta #11 en: 21 Julio 2016, 15:58 pm »

Es el mismo pruducto pero sumando su promedio general es decir cantidad x precio


En línea

hectornunezrivas

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: Sacar el promedio de un arrar
« Respuesta #12 en: 25 Julio 2016, 19:24 pm »

Hola.
Bueno para sacar el promedio de tu array es tomar la suma de todos los totales de los productos entre cuantos productos se agregaron. y en este caso quedaría:
return suma / vec.length;
Ya que vec.length te trae el tamaño del arreglo
En línea

Octsam

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Sacar el promedio de un arrar
« Respuesta #13 en: 26 Julio 2016, 10:50 am »


¡Ufff! Creo que por fin me he enterado, aunque el modo de expresarlo es confuso: si para cada unidad de un mismo producto sumas el promedio a una variable de valor inicial 0, entiendo que no hace falta calcularlo, pues el promedio por el número de unidades, es la suma total de precios. Por ejemplo, si un alumno en matemáticas ha obtenido como notas 5, 7 y 8, el promedio es (5 + 7 + 8)/3 = 20/3 = 6'66..., y 20/3 + 20/3 + 20/3 = 20/3 · 3 = 20, que es la suma total, por lo que habría bastado calcular 5 + 7 + 8 = 20 directamente.

El método siguiente imprimirá los datos como en el ejemplo que has dado, pues dar la lista de promedios sin más, no me parece útil.
El código lo he escrito aquí directamente, por lo que debe ser probado para asegurar su corrección.

Código:

    // Este objeto es de una clase anónima. Es definido fuera de la función, para no
    // tener que hacer el objeto en cada llamada al método.
    private Comparator<venta> comp = new Comparator<>(){
        @Override
        public int compare(venta prod1, venta prod2){
            return prod1.nombreProducto.compareTo(prod2.nombreProducto);
        }
    };
   
   
    public void getPromedioGeneral(venta[] vec){
        // Si no hay elementos que imprimir, ésto hará terminar al método.
        if(vec.length == 0){ return; }
       
        // Esto ordenará los productos según su nombre.
        Arrays.sort(vec, comp);
       
        venta producto = vec[0], producto2;
        double promedio = producto.precio, cont = 1d;
        int i = 0;
        while(++i < vec.length){
            producto2 = vec[i];
            if(producto.nombreProducto.equals(producto2.nombreProducto)){
                promedio += producto2.precio;
                ++cont;
            }
            else{
                if(cont > 1){ promedio /= cont; }
                System.out.println(producto.nombreProducto+": "+promedio);
                producto = producto2;
                promedio = producto2.precio;
                cont = 1d;
            }
        }
       
        // Como el bucle imprime un producto, cuando aparece otro solamente, faltará el
        // último producto registrado en la variable 'producto'.
        if(cont > 1){ promedio /= cont; }
        System.out.println(producto.nombreProducto+": "+promedio);
    }
   


Y los programadores suelen poner nombres a las clases, con una letra mayúscula inicial, para distinguirlos mejor de los nombres de variables. Si haces programas menos sencillos, sería bueno que tengas esa costumbre.

En línea

Sempai15

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Sacar el promedio de un arrar
« Respuesta #14 en: 26 Julio 2016, 16:35 pm »

Muchas gracias ^w^
En línea

nelmaster_vc

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: Sacar el promedio de un arrar
« Respuesta #15 en: 28 Julio 2016, 02:39 am »

lol
« Última modificación: 28 Julio 2016, 02:43 am por nelmaster_vc » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Promedio 5 numeros
Java
walter_rel 4 21,434 Último mensaje 30 Octubre 2008, 13:52 pm
por egyware
ayuda sacar promedio.
Java
andrex.125 1 2,725 Último mensaje 2 Septiembre 2013, 16:56 pm
por 1mpuls0
Sacar promedio [C]
Programación C/C++
Darklexis312 3 2,582 Último mensaje 19 Abril 2018, 22:26 pm
por Xargam
[Pregunta]: Formula para sacar promedio de un sistema de valoraciones
Desarrollo Web
Leguim 2 2,464 Último mensaje 17 Marzo 2019, 21:03 pm
por Leguim
Sacar el promedio en ensamblador de micro 8051 « 1 2 »
ASM
Jeremigio 10 7,394 Último mensaje 27 Diciembre 2021, 11:22 am
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines