Ejemplo del problema: cargar una matriz 3x3 con random he imprimir en forma de espiral ejemplo:
matriz 3x3
123
456
789
Forma de espiral
1
12
123
6
56
456
7
78
789
Mi codigo fuente fue para imprimirlo en JTextArea asique solo pondre el codigo que concatena la variable String y luego la envia mediante el SetText(string); al JTextArea. espero sea un debate interezante !!
Código:
int matriz[][]=new int[3][3];/// declaracion de la matriz
int a,b; ///2 variables para el manejo de la matriz dentro del for
String concatenar="\n-------Matriz 3x3-------\n";/// para imprimir en el JTextArea
Random rand = new Random();/// declaracion del objeto de la clase Random
///llenamos la matriz con los numeros randon
for(a=0;a<3;a++)
{
for(b=0;b<3;b++)
{
matriz[a][b]=rand.nextInt(9);// cargamos la matriz
concatenar=concatenar+matriz[a][b]+",";// concatenamos la matriz para la impresion
}//fin del for de la variable b
concatenar=concatenar+"\n";/// concatenamos un salto de linea
}//Fin del for de la variable a
concatenar=concatenar+"\n---------------------\n";
int x=0;
a=0;
while(a<3) //// solo para 3 x3 XD
{
for(b=0;b<=x;b++)
{
concatenar=concatenar+matriz[a][b]+" ";// concatenamos la matriz
}//fin del for de la variable b
concatenar=concatenar+"\n";/// concatenamos un salto de linea
if(x==2)
{
a=a+1;
if(a>2)
break;
while(x>=0)
{
if (x==2)
concatenar=concatenar+" ";//solo para ordenar
if(x==1)
concatenar=concatenar+" "; //solo para ordenar
for(b=x;b<=2;b++)
{
concatenar=concatenar+matriz[a][b];// concatenamos la matriz
}//fin del for de la variable b
x=x-1;
concatenar=concatenar+"\n";/// concatenamos un salto de linea
}///fin del while
a=a+1;
String cadenaNueva = concatenar.substring(0, concatenar.length()-1);/// como agaraba 2 salto de linea segido elimine uno para que kedara justo
concatenar=cadenaNueva;
}else
{
x=x+1;
}
}//Fin del for de la variable a
jTextArea1.setText(concatenar);
Todo ese codigo esta dentro de una accion del boton llnar la matriz