Boa noite senhores, estou precisando resolver um algoritmo que represente a matriz cebola, porém nao está dando certo, teria como voces darem uma força ai ?
Exemplo da Matriz:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
Meu Código:
public class v01 {
static int array[][];
public static void gerarMatriz(int a,int b){
array = new int[a][b];
}
public static void preencherMatriz(int n){
int i = 0;
int j = 0;
int linha = 1;
int coluna = 1;
int a = n; //linha
int b = n; //coluna
int valor = 1;
int k = 0;
for (i=0; i<a; i++){
for(j=0; j<b; j++)
{
array[i][j] = 0;
}
}
valor = 1;
for (i = 0; i < Math.ceil((float)a/2); i++){
for(j = i; j < Math.ceil((float) b/2); j++){
array[i][j] = array[linha-i-1][j] = array[i][coluna-j-1] = array[linha-i-1][coluna-j-1] = valor;
}
for (k = i+1; k<Math.ceil((float)a/2); k++)
{
array[k][i] = array[k][coluna-i-1] = array[linha-k-1][i] = array[linha-k-1][coluna-i-1] = valor;
}
valor++;
}
}
public static void main(String args[]){
gerarMatriz(5,5);
preencherMatriz(5);
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
System.out.print(""+array[i][j]);
}
System.out.print("\n");
}
}
}