티스토리 뷰

✨ 반복문을 사용해 2차원 배열을 간단하게 만들 수 있다.

	public static void main(String[] args) {

		String[][] seat = { 
				{ "A1", "A2", "A3" },
				{ "B1", "B2", "B3", "B4" },
				{ "C1", "C2", "C3", "C4", "C5" } };

		for (int i = 0; i < seat.length; i++) {
			for (int j = 0; j < seat[i].length; j++) {
				System.out.print(seat[i][j] + " ");
			}
			System.out.println();
		}
	}

 >> 만약 j < seat.length; 로 코드를 입력하면 A, B, C 전부 3개씩 밖에 출력되지 않는다. 따라서 seat에 [i]를 붙여서 i = 0, 1, 2일 때 따로 생각해 줘야 한다.

 >> seat.length의 값은 seat이 참조하고 있는 배열의 길이이므로 3이다. seat[0]은 3, seat[1]은 4, seat[2]의 값은 5 이다.

 

 

✨다음은 A1~A15까지, A~J까지의 영화관 좌석을 배열을 통해 생성해 보도록 하자. 코드는 다음과 같다.

	public static void main(String[] args) {
		// 세로 크기 10 x 가로 크기 15에 해당하는 영화관 좌석
		String[][] seat = new String[10][15]; // 세로 10, 가로 15의 배열 생성
		String[] eng = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };

		for (int i = 0; i < seat.length; i++) { // 세로
			for (int j = 0; j < seat[i].length; j++) { // 가로
				seat[i][j] = eng[i] + (j + 1);

				System.out.print(seat[i][j] + " ");

			}

			System.out.println(); // 줄바꿈
		}

	}

 

그런데 코드를 짤 때 eng에 A부터 J까지 입력해 주는게 효율적이지 않다. 그래서 아스키코드를 이용해 코드를 간편화 해 줄 수 있다. String[] eng = ~ 부분을 삭제하고          char ch = 'A';          seat[i][j] = String.valueof(ch) + (j + 1);           ch++;로 코드를 바꿔주면 A부터 시작해 J까지 직접 입력해 주지 않고도 똑같은 결과를 낼 수 있다.

	public static void main(String[] args) {

		// 아스키코드 대문자 A는 65부터, 소문자 a는 97부터, 숫자 0은 48부터 시작
		char c = 'A';
		System.out.println(c);
		System.out.println((int) c);

		c = 'a';
		System.out.println((int) c);

		c = '0';
		System.out.println((int) c);

	}

 

'Algorithm > Java' 카테고리의 다른 글

자바 기본편 - 전달값과 반환값  (0) 2023.02.09
자바 기본편 - 메소드  (0) 2023.02.08
자바 기본편 - 2차원 배열  (0) 2023.02.04
자바 기본편 - 배열  (0) 2023.02.01
자바 기본편- break와 continue  (0) 2023.01.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/09   »
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 26 27
28 29 30
글 보관함