해결된 질문
작성
·
236
0
영화관 좌석 번호에서 ch를 문자열로 바꾸는 부분에서
실행하면 A1~A15 까지는 정상 표시되지만 그밑에는
null 로 표시가 되는데 원인이 무엇인가요?
// 세로 크기 10 x 가로크기 15 에 해당하는 영화관 좌석
String[][] seats3 = new String[10][15];
char ch = 'A';
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++;
// 영화관 좌석 확인
for (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();
}
답변 1
0
안녕하세요?
코드에 실수가 있었네요. 처음 반복문 내에서 ch++ 을 한 뒤에는 중괄호 } 를 통해 반복문을 끝내주어야 합니다. 그래야 A1 ~ A15 라는 값을 넣고나서 이어서 B1 부터 새로운 값을 입력하게 되는데요.
...
ch++;
} // 누락된 부분
작성하신 코드에서는 이 부분이 누락되어서 A1 ~ A15 까지만 값을 입력한 상태에서 바로 전체 배열의 데이터를 순회하게 되었습니다. 그러다보니 아직 값이 들어가지 않아서 null 로 표시된 것이죠. 아래처럼 코드를 변경해주시면 되겠습니다.
String[][] seats3 = new String[10][15];
char ch = 'A';
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++;
} // 누락된 부분
// 영화관 좌석 확인
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();
}
주석으로 표시한 // 누락된 부분을 주의해서 실행 결과를 확인해주세요 😊
감사합니다.