¿Cómo puedo hacer un menú con varias matrices y elegir dos?
Publicado por Omi (6 intervenciones) el 01/05/2020 23:12:57
Hola, necesito hacer un ejercicio donde tengo 4 matrices de 3x3 con números aleatorios y posteriormente escoger 2 de las 4 matrices para sumarlas. Es decir, voy a hacer cuatro matrices y luego voy a hacer que el usuario escoja dos matrices y a esas dos matrices sumarlas.
Estoy trabajando en java.
Mi error principal es en la elección de la matriz con la que el usuario desea trabajar, realmente tengo varias dudas con respecto a esa parte. Intenté con un switch dándole a `matrizElegida1` y `matrizElegida2` los valores de una matriz ya generada dependiendo de la respuesta del usuario, por ejemplo: `matrizElegida1[][] = matriz1[filas][columnas];` pero no funciona...
Estoy trabajando en java.
Mi error principal es en la elección de la matriz con la que el usuario desea trabajar, realmente tengo varias dudas con respecto a esa parte. Intenté con un switch dándole a `matrizElegida1` y `matrizElegida2` los valores de una matriz ya generada dependiendo de la respuesta del usuario, por ejemplo: `matrizElegida1[][] = matriz1[filas][columnas];` pero no funciona...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
//Inicializo las variables
int[][] matriz1 = new int[3][3];
int[][] matrizElegida1 = new int[3][3];
int[][] matrizElegida2 = new int[3][3];
int[][] matrizSuma = new int[3][3];
int opcion1;
int opcion2;
Scanner input = new Scanner(System.in);
//Genero las cuatro matrices
System.out.print("Matriz 1");
for (int filas = 0; filas < 3; filas++) {
System.out.println();
for (int columnas = 0; columnas < 3; columnas++) {
matriz1[filas][columnas] = (int) (Math.random() * 9);
System.out.print(matriz1[filas][columnas] + " ");
}
}
System.out.print("\nMatriz 2");
int[][] matriz2 = new int[3][3];
for (int filas = 0; filas < 3; filas++) {
System.out.println();
for (int columnas = 0; columnas < 3; columnas++) {
matriz2[filas][columnas] = (int) (Math.random() * 9);
System.out.print(matriz2[filas][columnas] + " ");
}
}
System.out.print("\nMatriz 3");
int[][] matriz3 = new int[3][3];
for (int filas = 0; filas < 3; filas++) {
System.out.println();
for (int columnas = 0; columnas < 3; columnas++) {
matriz3[filas][columnas] = (int) (Math.random() * 9);
System.out.print(matriz3[filas][columnas] + " ");
}
}
System.out.print("\nMatriz 4");
int[][] matriz4 = new int[3][3];
for (int filas = 0; filas < 3; filas++) {
System.out.println();
for (int columnas = 0; columnas < 3; columnas++) {
matriz4[filas][columnas] = (int) (Math.random() * 9);
System.out.print(matriz4[filas][columnas] + " ");
}
}
//Hago un menú con opciones
System.out.println("\n1. Matriz 1");
System.out.println("2. Matriz 2");
System.out.println("3. Matriz 3");
System.out.println("4. Matriz 4");
System.out.println("Elija la primera de las matrices con la que desea trabajar: ");
opcion1 = input.nextInt();
System.out.println("Has elegido la matriz " + opcion1);
//Utilizo un switch para ver las posibilidades de respuesta.
switch (opcion1) {
case 1:
matrizElegida1[][] = matriz1[filas][columnas];
case 2:
matrizElegida1[][] = matriz2[filas][columnas];
case 3:
matrizElegida1[][] = matriz3[filas][columnas];
case 4:
matrizElegida1[][] = matriz4[filas][columnas];
}
System.out.println("\n1. Matriz 1");
System.out.println("2. Matriz 2");
System.out.println("3. Matriz 3");
System.out.println("4. Matriz 4");
System.out.println("Elija la segunda de las matrices con la que desea trabajar: ");
opcion2 = input.nextInt();
System.out.println("Has elegido la matriz " + opcion2);
switch (opcion2) {
case 1:
matrizElegida2[][] = matriz1[filas][columnas];
case 2:
matrizElegida2[][] = matriz2[filas][columnas];
case 3:
matrizElegida2[][] = matriz3[filas][columnas];
case 4:
matrizElegida2[][] = matriz4[filas][columnas];
}
//Sumo la matriz elegida 1 y la matriz elegida 2 y guardo los resultados en una nueva matriz llamada matrizSuma
System.out.print("\nLa matriz resultante de la suma es: ");
for (int filas = 0; filas < 3; filas++) {
System.out.println();
for (int columnas = 0; columnas < 3; columnas++) {
matrizSuma[filas][columnas] = matrizElegida1[filas][columnas] + matrizElegida2[filas][columnas];
System.out.print(matrizSuma[filas][columnas] + " ");
}
}
Valora esta pregunta


0