void returnBike() 메소드에서 추가
void returnBike() { // 반납
Scanner input = new Scanner(System.in); //여기서부터
RentList my_list = null;
for (int i = 0 ; i < rentList.size() ; i++) {
if (rentList.get(i).getUserPhoneNum().equals(Menu.cur_user_id)) { //대여한게 있다면
my_list = rentList.get(i);
}
}
if (my_list == null) { //RentList에 대여한 목록에 없다면
System.out.println("대여 중인 자전거가 없습니다");
return;
}
System.out.println("반납할 자전거의 일련번호를 입력해주세요");
String id = input.nextLine(); //여기까지 추가
for(String key : bikeList.keySet()) { // bikeList
io.loadRentList();
if (bikeList.containsKey(id) && bikeList.get(id).getRentalStatus().equals(RentalStatus.UNAVAILABLE)) {
for (int i = 0 ; i < rentList.size() ; i++) {
if (rentList.get(i).getId().contains(id)) {
RentList list = rentList.get(i);
// time.inputEndTime(i); > 진짜 시간
time.testEndTime(i); // > 테스트용 시간
int fee = calculateFee(id,list.getStartTime(),list.getEndTime()); // 시간입력
payFee(i,fee,id); // 계산
io.writeBikeList();
io.writeRentList();
break;
}
}
break;
} else {
System.out.println("일련번호가 일치하지 않습니다.");
break;
}
}
}
void payFee() 메소드에서 자전거 반납 후 rentlist에서 삭제 기능 추가
void payFee(int index, int fee, String id) {
DecimalFormat df = new DecimalFormat("#,###");
System.out.println("결제요금: " + df.format(fee) + "원");
System.out.println("[요금안내] 1시간 당 1인용 : 1,000원, 2인용 : 2,000원");
System.out.println("* 요금은 시간 단위로 계산되어 1분 초과 시부터 올림 적용됩니다");
System.out.println("결제하시겠습니까?");
System.out.println("1. 예 | 2. 아니오 (취소)");
Scanner scan = new Scanner(System.in);
int input = Integer.parseInt(scan.nextLine());
if (input == 1) {
rentList.get(index).setFee(fee);
bikeList.get(id).setRentalStatus(RentalStatus.AVAILABLE);
rentList.remove(index); //자전거 반납 후 렌트 리스트에서 삭제
io.writeRentList();
io.writeBikeList();
System.out.println("결제가 완료되었습니다.");
System.out.println("이용해 주셔서 감사합니다 :D");
class Menu - void displayUserMenu() 메소드 수정
while (true);
switch (menu) {
case 1:
bikeService.rentalBike("S");
break;
case 2:
bikeService.rentalBike("T");
break;
case 3:
bikeService.returnBike(); // 여기 수정
break;
case 4:
return;
}
}
}
void returnBike() 메소드에서 추가
void payFee() 메소드에서 자전거 반납 후 rentlist에서 삭제 기능 추가
class Menu - void displayUserMenu() 메소드 수정