Continuamos con los ejercicios de matrices en Java. En este artículo veremos cómo obtener la sumatoria (la suma de todos los elementos) y el promedio de una matriz.
Recordemos que el promedio es el resultado de dividir la sumatoria entre la cantidad de elementos de la matriz, así que con la sumatoria podemos obtener el promedio.
Comenzamos definiendo la matriz, así como la sumatoria. Al inicio la sumatoria es 0, e irá aumentando en cada paso que demos al recorrer la matriz. Por otro lado, llevamos un contador de elementos.
Para recorrer la matriz necesitamos un ciclo for anidado porque necesitamos la posición de la fila y la posición del elemento de la fila, o en otras palabras, la posición de x
e y
. El código que hace eso queda así:
int[][] matriz = { { 11, 1232, 386, 432 }, { 47, 454, 254, 353 } };
int sumatoria = 0; // Aquí iremos sumando cada valor
int cantidadDeElementos = 0; // Contar los elementos
// Recorremos la matriz
for (int x = 0; x < matriz.length; x++) {
for (int y = 0; y < matriz[x].length; y++) {
int numeroActual = matriz[x][y];
sumatoria = sumatoria + numeroActual;
cantidadDeElementos = cantidadDeElementos + 1;
}
}
Dentro de cada paso sumamos el valor actual a la sumatoria, y aumentamos en 1 al contador de elementos.
Una vez que salimos del ciclo y terminamos de recorrer la matriz podemos calcular el promedio. La parte que dice (float) sumatoria
es para castear el entero a flotante.
Queda así:
float promedio = (float) sumatoria / cantidadDeElementos;
System.out.printf("La sumatoria es %d y el promedio es %f", sumatoria, promedio);
Es momento de mostrar el código completo con la demostración. La clase de Java para obtener el promedio de una matriz queda así:
/*
Programado por Luis Cabrera Benito
____ _____ _ _ _
| _ \ | __ \ (_) | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___|
__/ | __/ |
|___/ |___/
Blog: https://parzibyte.me/blog
Ayuda: https://parzibyte.me/blog/contrataciones-ayuda/
Contacto: https://parzibyte.me/blog/contacto/
*/class Main {
public static void main(String[] args) {
int[][] matriz = { { 11, 1232, 386, 432 }, { 47, 454, 254, 353 } };
int sumatoria = 0; // Aquí iremos sumando cada valor
int cantidadDeElementos = 0; // Contar los elementos
// Recorremos la matriz
for (int x = 0; x < matriz.length; x++) {
for (int y = 0; y < matriz[x].length; y++) {
int numeroActual = matriz[x][y];
sumatoria = sumatoria + numeroActual;
cantidadDeElementos = cantidadDeElementos + 1;
}
}
float promedio = (float) sumatoria / cantidadDeElementos;
System.out.printf("La sumatoria es %d y el promedio es %f", sumatoria, promedio);
}
}
Su ejecución es exitosa y además, el promedio y la sumatoria son correctos para la matriz:
Si te gusta Java puedes aprender con más ejercicios en mi blog.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.