Java - ¿Como llenar con "+", x posiciones de una matriz?

 
Vista:
sin imagen de perfil
Val: 23
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

¿Como llenar con "+", x posiciones de una matriz?

Publicado por ASmER3 (6 intervenciones) el 01/06/2020 05:24:59
He bueno no se si me explique pero mi duda es que tengo una matriz de n x m, en mi caso la he puesto de 6 x 6,
ejemplo:

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

Ahora debo pedirle a usuario cuantas posiciones desea marcar con un "+" y luego de ello también pedirle específicamente que posiciones marcar, osea supongamos que el usuario quiera marcar 3 posiciones las cuales sean [0][5], [1][0], [2][5], quedando el arreglo así:

[ ] [ ] [ ] [ ] [ ] [+]

[+] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [+]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

Y el resto de espacio se deben rellenar con "-", quedando al final de la siguiente manera:

[-] [-] [-] [-] [-] [+]

[+] [-] [-] [-] [-] [-]

[-] [-] [-] [-] [-] [+]

[-] [-] [-] [-] [-] [-]

[-] [-] [-] [-] [-] [-]

[-] [-] [-] [-] [-] [-]

He intentando recorriendo la matriz y metiendo las posiciones en un array y luego compararlas e imprimir pero no me sale, si alguien me pudiera ayudar se lo agradecería mucho, gracias por leer.
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 Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

¿Como llenar con "+", x posiciones de una matriz?

Publicado por Kabuto (1381 intervenciones) el 01/06/2020 11:59:38
Hola.

Lo que se puede hacer es primer marcar todas las posiciones con el símbolo '-'

Luego preguntas cuántas posiciones quiere marcar el usuario y en un bucle pides las posiciones a marcar, fila y columna, y las marcas con el símbolo '+'

Este es un código de ejemplo, donde muestro la matriz en cada fase. Es una matriz de tipo char, pero sería lo mismo si quisieras hacerla con la clase String.
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
public class Rellena {
 
	public static void main(String[] args) {
 
		Scanner teclado = new Scanner(System.in);
 
		char[][] matriz = new char[6][6];
		System.out.println("Matriz inicial");
		mostrarMatriz(matriz);
 
		System.out.println("\nMatriz rellenada con '-'");
		for (int i = 0; i < matriz.length; i++)
			for (int j = 0; j < matriz[0].length; j++)
				matriz[i][j] = '-';
		mostrarMatriz(matriz);
 
		System.out.print("\n¿Cuántas posiciones desea marcar con un '+'?: ");
		int cuantas = teclado.nextInt();
 
		for (int i = 1; i <= cuantas; i++) {
			System.out.println("\n" + i + "ª posicion.");
			System.out.print("Fila: ");
			int fila = teclado.nextInt();
			System.out.print("Columna: ");
			int columna = teclado.nextInt();
			matriz[fila][columna] = '+';
		}
 
		System.out.println("\nMatriz con las posiciones marcadas por usuario");
		mostrarMatriz(matriz);
 
		teclado.close();
	}
 
	private static void mostrarMatriz(char[][] mat) {
		for (int i = 0; i < mat.length; i++)
			System.out.println(Arrays.toString(mat[i]));
	}
 
}

En pantalla tenemos este resultado:

matrizChar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar