/** * 좌석 예매하기 * * @param seatNumbers */ public void reserveSeat(AirVO vo) { List<String> selectedSeats = vo.getSeats().get(vo.getRow()); // 좌석 예매 selectedSeats.set(vo.getColumn(), "■"); }
/** 프로그램 시작 */ public void startProgram() { // 초기화 airInitialize.initializeSeats(vo); // 반복 while (true) { // 예약이 가득 찼는지 확인 if (airCheck.isFull(vo)) { out.printFull(); break; } // 메뉴 출력 out.printMenu(); // 메뉴 입력 vo.setChoice(); if (vo.getChoice() == 1) { // 현재 좌석 출력 out.printSeats(vo); // 예약할 좌석 입력 out.printInputSeat(); vo.setSeatNumber(); // 공백 제거하고 Comma( , ) 를 기준으로 자르기 vo.setSeatNumbers(airSplit.splitString(vo.getSeatNumber())); // 콤마 한개인지 확인 if (!airCheck.checkComma(vo, airParse)) { out.printWarningComma(); continue; } // 예약 되어 있는지 확인 if (!airCheck.checkReservedSeats(vo)) { out.printWariningSeat(); out.printCancel(); vo.setChoice(); if (vo.getChoice() == 1) { // 예약 취소 vo.removeUserInfo(); // ■ -> □ 변경 List<String> selectedSeats = vo.getSeats().get(vo.getRow()); selectedSeats.set(vo.getColumn(), "□"); } continue; } // 배열 크기 확인 if (!airCheck.checkArray(vo)) { out.printWarningArray(); continue; } // 좌석 예매 reserveSeat(vo); // 이름 입력 out.printInputName(); vo.putNameAndDate(); // 날짜 입력 vo.putNameAndDate(date.toString()); System.out.println(date.toString()); // 좌석번호 입력 vo.putRowAndColumn(); // 유저정보등록 vo.putUserInfo(); } else if (vo.getChoice() == 2) { break; } else { out.printWarningInput(); } } // while out.printEnd(); System.exit(0); } // startProgram