Ir al contenido

Matriz negativa con Java

El cálculo de una matriz negativa consiste en cambiar el valor de los signos de todos los elementos que contiene la matriz. Es decir, sería lo que representásemos como:

-A

Para poder conseguir una matriz negativa con Java deberemos de recorrer todos los elementos de la matriz, cambiarles de signo y volverles a asignar al mismo sitio dónde estaban, pero con el signo cambiado.

Lo primero es definir nuestra matriz:

int[][] m = { {1,2,3}, {4,5,6}, {7,8,9} };

Ahora recorreremos la matriz igual que hacíamos en los ejemplos de imprimir una matriz o sumar matrices… y muchos otros.

Para recorrer la matriz vamos a utilizar dos bucles anidados:

for (int x=0; x < m.length; x++) {
for (int y=0; y < m[x].length; y++) {
// Cambiar el signo
}
}

Vemos que los bucles utilizan el tamaño del array mediante la propiedad .length y el tamaño del primer elemento m[x] de igual manera mediante el atributo .length.

Ahora solo nos quedará el cambiar del signo al elemento y asignarle a la misma posición. Algo que hacemos con un simple:

m[x][y] = m[x][y] * -1;

De esta manera el código que consigue una matriz negativa con Java quedará de la siguiente forma:

int[][] m = { {1,2,3}, {4,5,6}, {7,8,9} };
for (int x=0; x < m.length; x++) {
for (int y=0; y < m[x].length; y++) {
m[x][y] = m[x][y] * -1;
}
}
Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Matriz negativa con Java

Código que nos explica como podemos conseguir una matriz negativa con Java que cambie de signo a todos sus elementos.

Descargar código
Pon a prueba tu conocimiento
Arrays en Java

¿Cuál de las siguientes opciones inicializa correctamente un array de String con 3 elementos?

  • A String[] nombres = {"Ana", "Luis", "Carlos"};
  • B String nombres[] = new String[3] {"Ana", "Luis", "Carlos"};
  • C String nombres = ["Ana", "Luis", "Carlos"];
  • D String[] nombres = new String(3);