¿Cómo hacer una matriz(9x9) con números aleatorios(del 1 al 3) en java?

**Estoy realizando un trabajo de fin de curso llamado "Rompebolas". El menú he conseguido realizarlo sin mucha dificultad, pero en él, hay 3 opciones 1. Fácil 2. Intermedio 3. Difícil. La primera corresponde a una matriz 9x9 rellena de números aleatorios de 1 al 3, la segunda con números aleatorios del 1 al 4 y la última con números aleatorios del 1 al 5.

Aprovecho también para preguntaros si se os ocurre alguna manera para lo siguiente:

Imaginaros que la matriz sea tal que así:

 1 1 1 1 1 1 1 1 1
1 2 2 2 2 2 2 2 1
1 2 3 3 3 3 3 2 1
1 2 3 1 1 1 3 2 1
1 2 3 1 2 1 3 2 1
1 2 3 1 1 1 3 2 1
1 2 3 3 3 3 3 2 1
1 2 2 2 2 2 2 2 1
1 1 1 1 1 1 1 1 1

**(Necesitaría también poner en la parte izquierda de la matriz vertical de abajo a arriba 1 2 3 4 5 6 7 8 9 y horizontalmente, de izquierda a derecha en la zona superior de la matriz 1 2 3 4 5 6 7 8 9; para señalar las coordenadas)

Una vez aquí, el usuario introduce dos números (FilaColuma): por ejemplo 21. Esto en la matriz correspondería al número 1. Pues bien, me gustaría saber si me podéis ayudar a hacer que todos los 1 que haya pegados a ese 1, se eliminen quedando así la matriz:

 xxxxxxxxxxxxx
x 2 2 2 2 2 2 2 x 
x 2 3 3 3 3 3 2 x
x 2 3 1 1 1 3 2 x 
x 2 3 1 2 1 3 2 x
x 2 3 1 1 1 3 2 x
x 2 3 3 3 3 3 2 x 
x 2 2 2 2 2 2 2 x 
(Os he puesto por donde estaría los 1). Es muy importante que la nueva matriz baje un escalón.. No se si me explico muy bien.. Por lo que las coordenadas a dar podrían ser diferentes..

Las tres preguntas marcadas con ** son muy importantes por favor..

Siento hacer tantas preguntas, pero soy novato y llevo dos semanas que no avanzo.. Por más que busco y busco no encuentro nada..

Respuesta

int mar [][] = new int[DIMENSION][DIMENSION];
for (int i=0;i<DIMENSION;i++)
{
for(int j=0;j<DIMENSION;j++)
{
mar[i][j]=(int)(Math.random()*4); // Ingresa un numero aleatorio a la posicion [i][j]
System.out.print(" "+ mar[i][j]); // Muestra el numero de la posicion [i][j]
}
System. Out.println(); //Para bajar una línea (En la impresión)
}

Muchísimas gracias por tu ayuda! De verdad, no sabes lo que puede servir de ayuda la información que nos proporciona la gente tan amable como tú. un saludo!

De nada hombre. Estoy ahora mismo haciendo el mismo trabajo que tu en la UVA. Tengo serio problemas en crear un marco encima de la matriz para indicar

Las posiciones. Vamos a ver si le doy una vuelta, o tienes alguna idea de como hacerlo.

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas