package arrays;
import java.util.Scanner;
public class Quiz09 {
public static void main(String[] args) {
// Quiz
// 건물층수, 각 층마다의 호수, 거주자의 이름을 입력받아 출력하는 코드 작성
Scanner sc = new Scanner(System.in);
int floor, ho;
System.out.println("===== 아파트 입주자 정보 =====");
while (true) {
try {
System.out.print("건물의 층수를 입력하세요 : ");
floor = sc.nextInt();
} catch (Exception e) {
System.out.println("잘못된 형식의 입력입니다...");
sc.nextLine();
continue;
}
break;
}
// 거주자의 이름만이 아닌 다른 데이터에 대한 입력 대비를 위해 3차원 배열로 진행.
String array[][][] = new String[floor][][];
for (floor = 0; floor < array.length; floor++) {
try {
System.out.printf("%d층의 총 호실 입력 : ", floor + 1);
ho = sc.nextInt();
} catch (Exception e) {
System.out.println("잘못된 형식의 입력입니다...");
sc.nextLine();
floor--;
continue;
}
// 각 방 거주자의 이름만이 아닌 다른 데이터를 입력받기 위해선 배열 마지막 상수는 1이 아닌 다른 값으로 변경되어야 한다.
array[floor] = new String[ho][1];
}
sc.nextLine();
for (floor = 0; floor < array.length; floor++)
System.out.printf("%d층은 %d호실까지 있습니다.\n", floor + 1, array[floor].length);
for (floor = 0; floor < array.length; floor++) {
for (ho = 0; ho < array[floor].length; ho++) {
System.out.printf("%d층 %d호실 입주자 : ", floor + 1, ho + 1);
array[floor][ho][0] = sc.nextLine();
}
System.out.println();
}
System.out.println("========== 입주자 정보 ==========");
for (floor = 0; floor < array.length; floor++) {
for (ho = 0; ho < array[floor].length; ho++)
System.out.printf("%d층 %d호실 입주자 : %s\n", floor + 1, ho + 1, array[floor][ho][0]);
}
}
}
JAVA/배열