Java - ¿Cómo puedo hacer un menú con varias matrices y elegir dos?

 
Vista:
Imágen de perfil de Omi
Val: 11
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

¿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...

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[SOLUCIÓN] ¿Cómo puedo hacer un menú con varias matrices y elegir dos?

Publicado por Billy Joel (876 intervenciones) el 01/05/2020 23:40:14
Dentro de los switchs debes poner break por cada case

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
100
101
102
103
104
105
106
107
108
109
public static void main(String[] args) {
    //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.print("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;
            break;
        case 2:
            matrizElegida1 = matriz2;
            break;
        case 3:
            matrizElegida1 = matriz3;
            break;
        case 4:
            matrizElegida1 = matriz4;
            break;
    }
 
    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.print("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;
            break;
        case 2:
            matrizElegida2 = matriz2;
            break;
        case 3:
            matrizElegida2 = matriz3;
            break;
        case 4:
            matrizElegida2 = matriz4;
            break;
    }
 
//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] + " ");
        }
    }
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Omi
Val: 11
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

[SOLUCIÓN] ¿Cómo puedo hacer un menú con varias matrices y elegir dos?

Publicado por Omi (6 intervenciones) el 02/05/2020 09:15:41
¡Gracias, me ha servido!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar