728x90
반응형
package chap5;
/*
[결과]
배열의 크기를 홀수로 입력하세요
5
17 16 15 14 13
12 11 10
9
8 7 6
5 4 3 2 1
(5 + 3 + 1) * 2 - 1 = 17
(3 + 1) * 2 - 1 = 7
*/
import java.util.Scanner;
public class Test0308_7 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("배열의 크기를 홀수로 입력하세요");
int num = scan.nextInt();
int[][] matrix = new int[num][num];
int sum = 0;
for(int i=1;i<=num;i+=2) sum += i;
int data = sum * 2 - 1; //시작하는 숫자
//matrix 배열에 데이터 저장
for(int i=0;i<= matrix.length/2;i++) {
for(int j=i;j<matrix.length-i;j++) {
matrix[i][j] = data--;
} }
for(int i=matrix.length/2+1;i< matrix.length;i++) {
for(int j=matrix.length - i - 1;j<=i;j++) {
matrix[i][j] = data--;
} }
//matric 배열의 값을 출력
for(int i=0;i<matrix.length;i++) {
for(int j=0;j<matrix[i].length;j++) {
if(matrix[i][j] == 0)
System.out.print(" ");
else
System.out.printf("%4d",matrix[i][j]);
}
System.out.println();
}
}
}728x90
반응형
'study > Java' 카테고리의 다른 글
| [Java] 18. 클래스와 객체 Exam1 (가로, 세로를 변수로 가지고있는 클래스 구현하기) (0) | 2022.03.17 |
|---|---|
| [Java] 18. 클래스와 객체 (0) | 2022.03.17 |
| [Java] 17. TEST6 풀이 (동전의 종류와 동전의 갯수 지정하여, 지정된 갯수만큼만 동전 변경하기) (0) | 2022.03.16 |
| [Java] 17. TEST5 풀이 (숫자를 입력받아 소수인지 판별하기) (0) | 2022.03.16 |
| [Java] 17. TEST4 풀이 (숫자 두개를 입력 받아 두 수의 공약수를 구하기) (0) | 2022.03.16 |