728x90
public class ExerciseCh2_8 {
public static void main(String[] args) throws java.io.IOException{
int n = System.in.read() - '0';
int [][] matrix = new int [n][n];
int number, row, col, row_b, col_b;
for(row=0; row<n; row++)
for(col=0; col<n;col++)
matrix[row][col] = 0;
// 값 초기화
row = 0;
col = n/2;
number = 1;
matrix[row][col] = number; //[0][1]에 1넣음, [0][2]에 1넣음
while(number<=n*n) {
matrix[row][col] = number;
row_b = row;
col_b = col;
col++;
row--;
if(row < 0) //row가 -1
row = row % n + n;
if(col > n-1) //col이 n
col = col % n;
if(matrix[row][col]!=0) //이미 숫자가 있으면 밑에다 적음
{
row = row_b+1;
col = col_b;
}
number++;
}
for(row=0; row<n; row++)
{
for(col=0; col<n;col++)
System.out.print(matrix[row][col]);
System.out.println();
}
}
}
반응형
'전.java' 카테고리의 다른 글
산술식 (0) | 2021.01.29 |
---|---|
16진수를 10진수로 변환 (0) | 2021.01.28 |
행렬의 행과 열을 바꾸는 메소드 transpose (0) | 2021.01.28 |
예외 발생 (NullPointerException) (0) | 2021.01.28 |
정수, 실수 나눗셈 (0) | 2021.01.28 |