학사관리 프로그램 중에 수강삭제 부분을 맡게 되었다.
hashmap에 데이터를 저장받고 저장받은 데이터를 삭제하게 되는 과정이다. 삭제 전에 수강신청이 이뤄져야한다.(데이터가 있어야 하기 때문에)
사용되는 데이터 셋과 VO는 hashmap으로 검색 만들기 글과 동일하다.
import java.util.Iterator;
import java.util.Scanner;
import model.dao.CourseRegistrationDataset;
import model.dao.OpeningSubjectDataset;
import model.vo.CourseRegistrationVO;
import model.vo.OpeningSubjectVO;
public class DeleteSubject {
static Scanner sc = new Scanner(System.in);
public DeleteSubject() {
// showRegisterSubject();
RemoveSubject();
}
public void RemoveSubject() { // 수강과목 삭제
try {
int scSubCode = Integer.parseInt(ConInput("삭제할 강의코드를 입력해주세요."));
OpeningSubjectVO registerSubVO = OpeningSubjectDataset.oSubjectList.get(scSubCode);
if(CourseRegistrationDataset.registerCourseList.containsKey(scSubCode)) { // 강의 코드가 유효한지 검사
CourseRegistrationDataset.registerCourseList.remove(scSubCode);
registerSubVO.setSubNowNum(registerSubVO.getSubNowNum()-1); // 삭제할 강의에서 신청인원 -1 하기
CourseRegistrationVO.nowCredit -= registerSubVO.getSubCredit(); // 현재수강학점에서 삭제할 수강학점 빼기
System.out.println("정상적으로 삭제되었습니다.");
showRegisterSubject();
}else {
System.out.println("잘못된 강의코드 입니다. ");
RemoveSubject();
}
}catch(NumberFormatException e) { // 예외 처리
System.out.println("잘못된 강의코드 입니다.");
RemoveSubject();
}
}
}
'Mini Project' 카테고리의 다른 글
ERD 개념적 모델링 예시 (0) | 2021.07.04 |
---|---|
맥도날드 홈페이지 사례연구 (0) | 2021.06.30 |
html/css만 사용한 자동 배너 슬라이드(맥도날드 메인 페이지 자동 배너 슬라이드 구현) (0) | 2021.06.29 |
학사관리 프로그램 클래스 다이어그램(class diagram), 시퀀스 다이어그램(sequence diagram) (0) | 2021.06.06 |
hashmap(해쉬맵)을 이용해서 검색 만들기(key 값 받아 value값 출력하기) (0) | 2021.06.04 |