Cargar una matriz por teclado en Java

01/abr/2011 Java , , , , , 10 Comentarios
java

En el ejemplo Crear una matriz en Java veíamos como se define una matriz de números en Java. En ese ejemplo rellenábamos los valores de la matriz directamente en la instanciación de la matriz.

  1. int [][] matriz = {{2,4,4},{6,6,9},{8,10,12}};

Una de las preguntas que nos presentabais ante ese artículo es cómo poder cargar una matriz por teclado en Java. Es decir, que el usuario vaya introduciendo los valores uno a uno.

Para este caso lo primero que haremos será instanciar la matriz vacía. Por ejemplo una matriz de 3x3:

  1. int matriz[][] = new int[3][3];

Ahora vamos a rellenarla. Para ello vamos a utilizar la misma técnica que si la quisiésemos recorrer. Es decir, dos bucles anidados que iteraran por el número de elementos que tenga la matriz en cada índice. El tamaño de la matriz que nos sirve para definir el bucle lo conseguimos mediante la propiedad .length. Algo así:

  1. for (int x=0; x < matriz.length; x++) {
  2. for (int y=0; y < matriz[x].length; y++) {...}
  3. }

Si bien, en cada una de las iteraciones, vamos a rellenar el elemento en el que estemos. Para leer los datos de la consola utilizaremos la clase Scanner. La clase Scanner la instanciaremos al principio del programa:

  1. Scanner consola = new Scanner(System.in);

En cada ciclo del bucle utilizamos el método .nextInt() de la clase Scanner para leer un entero de teclado. Y directamente se lo asignamos a la matriz.

  1. for (int x=0; x < matriz.length; x++) {
  2. for (int y=0; y < matriz[x].length; y++) {
  3. System.out.println("Introduzca el elemento [" + x + "," + y + "]");
  4. matriz[x][y] = consola.nextInt();
  5. }
  6. }

Ya solo nos quedará mostrar el contenido de la matriz para validar que coincide con el insertado:

  1. for (int x=0; x < matriz.length; x++) {
  2. for (int y=0; y < matriz[x].length; y++) {
  3. System.out.println ("[" + x + "," + y + "] = " + matriz[x][y]);
  4. }
  5. }

Vídeos sobre Java

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

10 comentarios en “Cargar una matriz por teclado en Java”

Víctor Cuervo

alfredo

disculpen, tengo un problema y les pido de la manera mas atenta su ayuda, tengo que realizar el código que resuelva el método simplex, pero aun no tengo los conocimientos necesarios, debe de ser muy sencillo por que apenas empece a estudiar la ingeniería. espero contar con su respuesta, se los agradeceré. gracias por su atención.

Víctor Cuervo

luis

buenas noches, estoy iniciando mis estudios en la programacion java y me estan pidiendo realizar un program con lassiguientes especificaciones y aun no he podido saber como iniciar con mi trabajo seria de mucha ayuda si alguin me indica como debo empezar y ya lo demas sera mas facil gracias

1.El programa debe tener la capacidad de recibir una matriz
ingresada por el usuario a través de una consola, el usuario
también puede definir el tamaño de la matriz.
2. El programa debe estar en capacidad de sumar 2 matrices
3. El programa debe estar en capacidad de multiplicar 2 matrices
4. El programa debe estar en capacidad de transponer 1 matriz
5. El programa debe estar en capacidad de restar 2 matrices
6. El programa debe estar en capacidad de multiplicar 1 matriz por
un número real
7. El programa debe estar en capacidad de calcular la inversa de
una matriz
8. El programa debe estar en capacidad de mostrar por pantalla las
matrices guardadas en memoria
9. El programa debe estar en capacidad de almacenar las matrices
en un archivo de textos para poder ser precargadas por el usuario

Víctor Cuervo

Víctor Cuervo

@Art,

Te refieres imprimirla como si fuese una matriz matemática?

Saludos.

Víctor Cuervo

Víctor Cuervo

@juan,

¿dónde está el valor de la posición de la matriz en la cual almacenarás el dato?

Saludos.

Víctor Cuervo

Juan

Me gustaria saber como hacer algo parecido pero en vez de ingresar un valor y asignarselo a una casilla en la matriz,quiero que con un valor ya definido asignarselo a cierta casilla de la matriz la cual es pedida al usuario por consola.

Víctor Cuervo

Art

Oye gracias me ha ayudado bastante, pero me gustaria saber como hacer q se imprima la matriz completa y no uno por uno

Víctor Cuervo

prox

disculpa me parecio muy bueno el articulo pero quisiera saber como insertar los valores desde un input y no utilisando scanner, si me pudieras ayudar estaria de lujo gracias!!!!

Víctor Cuervo

Víctor Cuervo

@Virginia,

Me alegro mucho que te haya orientado. 😀

La verdad es que Scanner es muy útil. Échale un vistazo al siguiente artículo:
http://lineadecodigo.com/java/lectura-de-datos-en-java-con-scanner/

Víctor Cuervo

Virginia

Buenoooo… esta misma tarde pruebo esta clase!!

Hace nada estuve peleandome con el read() para ir leyendo caracteres.

Lo tenía en un bucle en el que antes iba imprimiendo por pantalla con println y se saltaba algunos read(). Al final tuve que utilizar un método skip(), que tampoco entiendo mucho pero he leído que es parecido a la limpieza de buffer de c…

En fin, probaré con Scanner, gracias!

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*


*