생각하는 감쟈
[JAVA] 2차원 배열_02 본문
public void method5() {
/*
* 키보드로 돈을 입력받아 화폐단위별로 개수를 구하시오
* EX) 77550 -> 10000 7개, 5000 1개, 2000 2개, 500 1개, 50 1개
*/
int[] coin = { 10000, 5000, 1000, 500, 100, 50, 10 };
int money = sc.nextInt();
// 배열 값으로 money / -> money에서 빼줌 -> 개수 cun++
for (int i = 0; i < coin.length; i++) {
int num = money / coin[i];
money %= coin[i];
if (num == 0) continue;
System.out.println(coin[i] + "원 " + num + "개");
}
}
public void method6() {
// 1차원 배열 건너 뛰기
// [ ] 비워둔 곳은 가변으로 둔다
int[][] arr = new int[3][];
int[] stu1 = new int [4];
int[] stu2 = new int [5];
int[] stu3 = new int [4];
arr[0] = stu1;
arr[1] = stu1;
arr[2] = stu1;
}
1번
1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 |
public void method7() {
int[][] arr1 = new int[5][5];
//1
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
arr1[i][j] = j + i * 5 + 1;
}
}
//출력 코드
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
System.out.print(arr1[i][j]+"\t");
}
System.out.println();
}
}
더보기
처음 i for문은 몇개의 1차원이있는지 → arr1.length
j for문은 1차원 안에 몇개의 int가 있는지 → arr1[i].length
arr1[i][j] = j + i * 5 +1;
I는 1,6,11,46,21 .... 등 5씩 증가 → for i * 5
J는 1,2,3,4,5... 등 1씩 증가 → for j
+1은 숫자가 0이 아닌 1부터 시작해서
2번
1 | 6 | 11 | 16 | 21 |
2 | 7 | 12 | 17 | 22 |
3 | 8 | 13 | 18 | 23 |
4 | 9 | 14 | 19 | 24 |
5 | 10 | 15 | 20 | 25 |
public void method8() {
int[][] arr1 = new int[5][5];
// 2
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
arr1[i][j] = i + j * 5 + 1;
}
}
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
System.out.print(arr1[i][j]+"\t");
}
System.out.println();
}
}
3번
1 | 2 | 3 | 4 | 5 |
10 | 9 | 8 | 7 | 6 |
11 | 12 | 13 | 14 | 15 |
20 | 19 | 18 | 17 | 16 |
21 | 22 | 23 | 24 | 25 |
public void method9() {
int[][] arr1 = new int[5][5];
int k = 1;
// 3
for (int i = 0; i < arr1.length; i++) {
// 인덱스가 짝수일 때
if (i % 2 == 0) {
for (int j = 0; j < arr1[i].length; j++) {
arr1[i][j] = k++;
}
// 홀수 일때
} else {
for (int j = 0; j < arr1[i].length; j++) {
arr1[i][4 - j] = k++;
}
}
}
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
System.out.print(arr1[i][j]+"\t");
}
System.out.println();
}
}
더보기
i 는 1,10,11,20,21... 인덱스가 짝수 또는 홀수로 구분해서
짝수 : j 가 정방향으로 k을 증가
홀수 : j 배열 감소 후 k값 증가 → arr1[i][4 - j] = k++;
'Language > Java' 카테고리의 다른 글
[JAVA] Mybatis-confing / mapper . xml 설정 코드 파일 (0) | 2024.05.28 |
---|---|
[Java] eclipse_단축키 (0) | 2024.03.18 |
[JAVA] Stack_heap, 배열 복사, 2차원 배열_01 (2) | 2024.03.15 |
[JAVA] 참조 타입, 배열, 버블 정렬 (0) | 2024.03.13 |
[JAVA] 자바 별, 피라미드 찍기 (0) | 2024.03.13 |
Comments