📚 Study/Java
JAVA :: Test088_배열의 배열(실습 ③)
bono-hye
2023. 9. 12. 00:01
○ 실습
배열의 배열(다차원 배열)을 활용하여 다음과 같은 데이터를 요소로 취하는 배열을 구성하고
그 결과를 출력하는 프로그램을 구현한다.
실행 예)
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3
3 4 5 1 2
2 3 4 5 1
계속하려면 아무 키나 누르세요...
▼ 내가 작성한 코드
public class Test088
{
public static void main(String[] args)
{
int[][] arr = new int [5][5];
int n, a;
for (int i=0;i<arr.length ;i++ )
{
n=1;
for (int j=0;j<arr[i].length ;j++ )
{
if (i==j)
{
arr[i][j] = n;
n++;
}
else if (i<j)
{
arr[i][j] = n;
n++;
}
else if (i>j)
{
a=arr[i-1][4];
for (int f=0; f<=j ;f++ )
{
arr[i][j] = a;
a++;
}
}
}
}
for (int i=0; i<arr.length;i++ )
{
for (int j=0; j<arr[i].length ; j++ )
{
System.out.printf("%3d", arr[i][j]);
}
System.out.println();
}
}
}
▼ 같이 작성한 코드
public class Test088
{
public static void main(String[] args)
{
// 배열의 배열 선언 및 메모리 할당
int arr[][] = new int[5][5];
for (int i=0;i<arr.length ;i++ ) // i → 0 1 2 3 4
{
for (int n=1,j=i;n<=5 ;n++) // n → 1 2 3 4 5
{
// 테스트(확인)
//System.out.print("" + i + "," + j + " [" + n + "]");
arr[i][j] = n;
j++; //-- 왜 조건식에 들어가면 안되는지 다시 한번 확인해보기!!!
if (j==5)
{
j=0;
}
}
}
// 배열 전체 출력
for (int i=0; i<arr.length;i++ )
{
for (int j=0;j<arr[i].length ;j++ )
{
System.out.printf("%3d", arr[i][j]);
}
System.out.println();
}
}
}