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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  media de arrays
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: media de arrays  (Leído 3,686 veces)
fprg

Desconectado Desconectado

Mensajes: 16


Ver Perfil
media de arrays
« en: 16 Noviembre 2013, 22:52 pm »

estoy aprendiendo a prgramar en java
necesito saber como puedo calcular la media de una serie de arrays, pero si en la posicion N del array no hay un valor establecido, tengo que hacer la media solo son los valores anteriores a ese.


En línea

Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: media de arrays
« Respuesta #1 en: 16 Noviembre 2013, 23:35 pm »

Código
  1. package javase.arrays.media;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class MediaArray {
  6.  
  7. private int[] numeros;
  8. private int condicion;
  9.  
  10. public MediaArray() {
  11. llenarArray();
  12. }
  13.  
  14. private void llenarArray() {
  15.                Scanner into = new Scanner(System.in);
  16. System.out.println("Cuantos valores desea procesar?");
  17. int tamanio = into.nextInt();
  18. System.out.println("Numero condicion para que se detenga la suma:");
  19. condicion = into.nextInt();
  20.  
  21. numeros = new Int[tamanio];
  22.  
  23. System.out.println("Ingrese los numeros uno a uno.");
  24. for (short i=0; i < tamanio; i++) {
  25. numeros[i] = into.nextInt();
  26. }
  27. }
  28.  
  29. private float encontrarMedia() {
  30. float suma = 0;
  31.  
  32. for (int i : numeros) {
  33. if (i == condicion) {
  34. break;
  35. }
  36. suma += (float) i;
  37. }
  38.  
  39. return suma/numeros.length;
  40. }
  41.  
  42. public static void main (String... args) {
  43.  
  44. MediaArray media = new MediaArray();
  45. System.out.println("La media de los numeros ingresados es:\t" + media.encontrarMeda());
  46. }
  47.  
  48. }
  49.  

Nada del otro mundo no? A la próxima por lo menos, inténtalo. Esto se trata de razonar, evitar pedir ayuda hasta que sientas que ya no puedes seguir. Algo tan sencillo como ésto, solo se resuelve razonando un poco.

PD: Si aún no ves POO, puedes hacer esto mismo todo en el main.


« Última modificación: 16 Noviembre 2013, 23:42 pm por M1t$u » En línea

fprg

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: media de arrays
« Respuesta #2 en: 17 Noviembre 2013, 17:39 pm »

es algo mas complicado...
si yo tengo un array de tamanio 4, y solo ingreso dos valores, la media tiene que ser hecha solo con esos 2 valores. Y de esta manera, dividiria entre 4
de todas maneras, GRACIAS por la ayuda
En línea

Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: media de arrays
« Respuesta #3 en: 17 Noviembre 2013, 20:00 pm »

si yo tengo un array de tamanio 4, y solo ingreso dos valores, la media tiene que ser hecha solo con esos 2 valores.

Eso es redundante. Para qué entonces creas un arreglo de 'n' posiciones si no vas a utilizar todas las posiciones? Eso va contra la lógica común.

Mejor crea un ArrayList y anda agregando los valores que desees. Luego con un foreach, sumas los valores ingresados y sacas la media con el tamaño establecido. El tamaño se guardará en una variable solo para efectuar la media. En todo caso, no sería media, ya que la media se obtiene dividiendo la suma de un conjunto de valores por la cantidad misma.

Código
  1. package javase.arrays.media;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class MediaArray {
  6.  
  7. private List<Float> numeros;
  8. private int tamanio = 0;
  9.  
  10. public MediaArray() {
  11. llenarArray();
  12. }
  13.  
  14. // Llenar lista con numeros ingresados
  15. private void llenarArray() {
  16.                numeros = new ArrayList<>();
  17.                Scanner into = new Scanner(System.in);
  18. System.out.print("Cantidad de numeros:");
  19. tamanio = into.nextInt();
  20.  
  21. System.out.print("\nIngrese los numeros uno a uno:");
  22.                System.out.println("\n*** Cuando desee dejar de ingresar teclee -1 ***");
  23. while (true) {
  24.                        float numero = into.nextFloat();
  25.                        if (numero == -1) {
  26.                           break;
  27.                        }
  28.                        else {
  29.                           numeros.add(numero);
  30.                        }
  31. }
  32. }
  33.  
  34. private float encontrarMedia() {
  35. float suma = 0;
  36.  
  37. for (float i : numeros) {
  38. suma += i;
  39. }
  40.  
  41. return suma/tamanio;
  42. }
  43.  
  44. public static void main (String... args) {
  45.  
  46. MediaArray media = new MediaArray();
  47. System.out.println("\nLa media de los numeros ingresados es:\t" + media.encontrarMeda());
  48. }
  49.  
  50. }
  51.  

Lo hago con ArrayList porque si lo hago con un Array, al obtener los valores del array, obtendría un NullPointerException cuando accediera a las posiciones en donde no se ha agregado nada. Lee ArrayList en la documentación oficial.
« Última modificación: 17 Noviembre 2013, 20:30 pm por M1t$u » En línea

fprg

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: media de arrays
« Respuesta #4 en: 17 Noviembre 2013, 21:14 pm »

ya se que es algo absurdo pero es lo que me mandan
MUCHAS GRACIAS:)
En línea

Mitsu

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: media de arrays
« Respuesta #5 en: 17 Noviembre 2013, 21:19 pm »

Jaja si pues, ni modo, solo acatar la tarea xD

Me alegro que te haya servido. Un saludo.
En línea

fprg

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: media de arrays
« Respuesta #6 en: 18 Noviembre 2013, 20:09 pm »

si que me ha servido :)
tambien necesito crear dos metodos:
- uno para almacenar los datos del array (no vale usar la clase scanner)
-otro para modificar los datos ya almacenados
me podeis ayudar??
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Solución para real media y windows media
Multimedia
pabloskyto 3 3,856 Último mensaje 10 Noviembre 2007, 01:27 am
por Songoku
Duda con arrays dentro de arrays « 1 2 »
PHP
Servia 11 7,214 Último mensaje 10 Marzo 2011, 09:04 am
por Servia
Calcular moda, mediana, media aritmética, media geométrica de n números en C « 1 2 »
Programación C/C++
ERIK546 13 54,892 Último mensaje 30 Noviembre 2013, 19:31 pm
por EnriqueRodriguezM
media de arrays en java
Dudas Generales
fprg 0 1,597 Último mensaje 16 Noviembre 2013, 22:33 pm
por fprg
Media Armonica con arrays en c
Dudas Generales
EnriqueRodriguezM 0 2,395 Último mensaje 30 Noviembre 2013, 19:43 pm
por EnriqueRodriguezM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines