나도코딩 자바 기본편_11일차(24.12.01)
#029 <다차원 배열 순회>
1) 세로 3 x 가로 5 영화관 좌석 만들기
String [][] seats = new String[][] {
{"A1", "A2", "A3", "A4", "A5"},
{"B1", "B2", "B3", "B4", "B5"},
{"C1", "C2", "C3", "C4", "C5"}
};
for (int i = 0; i < 3; i++) { → 세로
for (int j = 0; j < 5; j++) { → 가로
System.out.print(seats[i][j] + " "); → 좌석 번호 A1 A2 A3 ...
}
System.out.println(); → A B C 줄바꿈
}
2) 가로 크기가 다른 배열 만들기
String[][] seats2 = {
{"A1", "A2", "A3"},
{"B1", "B2", "B3", "B4"},
{"c1", "C2", "C3", "C4", "C5"}
};
for (int i = 0; i < seats2.length; i++) { → 세로
for (int j = 0; j < seats2[i].length; j++) { → 가로(각 인덱스 번호 길이만큼)
System.out.print(seats2[i][j] + " "); → 좌석 번호 A1 A2 A3 ...
}
System.out.println();
}
3) 세로 10 x 가로 15 영화관 좌석 만들기
String[][] seats3 = new String[10][15]; → 값 넣지 않고 선언만 할 때는 크기 적어주기
String[] eng = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"}; → 세로 x 10 만들기
for (int i = 0; i < seats3.length; i++) { → 각각의 세로값(알파벳)
for (int j = 0; j < seats3[i].length; j++) { → 가로 자리 만들기
seats3[i][j] = eng[i] + (j+1); → 좌석 번호 A1 A2 A3 ...
}
}
// 좌석 번호 출력
for (int i = 0; i < seats3.length; i++) { → 세로
for (int j = 0; j < seats3[i].length; j++) { → 가로(각 인덱스 번호 길이만큼)
System.out.print(seats3[i][j] + " "); → 좌석 번호 A1 A2 A3 ...
}
System.out.println();
}
4) 표 구매 (빈 좌석 처리)
seats3[7][8] = "__"; → H9
seats3[7][9] = "___"; → H10
for (int i = 0; i < seats3.length; i++) {
for (int j = 0; j < seats3[i].length; j++) {
System.out.print(seats3[i][j] + " ");
}
System.out.println();
}
#030 <아스키 코드>
* 아스키 코드 (ANSI) : 미국 표준 코드
char c = 'A';
System.out.println(c); → A
System.out.println((int)c); → 65
c = 'B';
System.out.println(c); → B
System.out.println((int)c); → 66
c++;
System.out.println(c); → C
System.out.println((int)c); → 67
→ 숫자를 얻을 수도 있지만 문자를 얻을 수도 있음
→ 알파벳 대문자 (A) -> 65 부터 시작
→ 알파벳 소문자 (B) -> 97 부터 시작
→ 숫자 (0) -> 48 부터 시작
1) ASCII 코드 활용해 세로 10 x 가로 15 영화관 좌석 만들기
String[][] seats3 = new String[10][15];
char ch = 'A'; → ch++ → B / ch++ → C ...
for (int i = 0; i < seats3.length; i++) { → 세로
for (int j = 0; j < seats3[i].length; j++) { → 가로
seats3[i][j] = String.valueOf(ch) + (j+1); → 자료형 변환(ch를 String으로)
}
ch++; → 알파벳 값 변할 수 있도록 증감 처리
}
// 좌석 번호 출력
for (int i = 0; i < seats3.length; i++) { → 세로
for (int j = 0; j < seats3[i].length; j++) { → 가로(각 인덱스 번호 길이만큼)
System.out.print(seats3[i][j] + " "); → 좌석 번호 A1 A2 A3 ...
}
System.out.println();
}
오늘의 한마디
챕터 5 강의가 끝났다! 아직 퀴즈가 남아 있긴 하지만... 퀴즈 풀고 한 챕터만 더 들으면 자바 기본편이 모두 끝난다. 오늘이 11일차고, 중간에 복습하느라 며칠 건너뛰었으니까... 약 2주 전까지만 해도 코딩이 뭔지도 몰랐던 거네. (물론 아직도 모른다...^^) 하지만 조금... 아주 조금은 재미를 붙인 것 같기도 하다. 자바가 나랑 잘 맞는 건가? 아니 그냥 선생님의 강의 방식이 내가 좋아하는 스타일인 것 같다. 왜냐면... KDC 과정도 같이 듣고 있는데(자바 강의) 그건 영 재미가 없기 때문이지... 아직 초반이니까 흥미를 잃지 않는 게 제일 중요하다고 생각한다. 그러니까 재밌는 강의 먼저 완주해야지. KDC 강의에서는 이클립스로 실습하는데 나는 인텔리제이가 훨씬 마음에 든다. 아직 뭐가 좋고 나쁘다를 따질 만큼 아는 것도 없지만 걍 느낌이 그래. 그냥 뭐랄까... 이런 얘기를 하고 있는 내가 낯설고 신기하다. 계속해서 더 낯선 세계로 떠날 용기가 내 안에 있기를 바라는 새벽 세 시 반. 졸리다... 퀴즈는 내일 풀고 이제 자야지.
'공부를 하자! > 나도코딩 자바 기본편' 카테고리의 다른 글
[나도코딩 자바 기본편] 13일차: 메소드 오버로딩, 메소드가 필요한 이유, 변수의 범위, Main 메소드 (3) | 2024.12.09 |
---|---|
[나도코딩 자바 기본편] 12일차: 퀴즈5, 메소드, 전달값, 반환값, 전달값과 반환값 (0) | 2024.12.02 |
[나도코딩 자바 기본편] 10일차: 배열, 배열 순회, 다차원 배열 (0) | 2024.12.01 |
[나도코딩 자바 기본편] 9일차: 퀴즈4 (0) | 2024.11.30 |
[나도코딩 자바 기본편] 8일차: 이중 반복문, Break, Continue (0) | 2024.11.24 |