(9) 성적 조회 시스템 만들기(List)
2020. 7. 13. 19:16ㆍ개발공부/Java
728x90
List와 객체 지향 프로그래밍을 활용한 성적 조회 시스템
1. 소요시간: 3-4시간? (수업 때 풀었음, 혼자 풀다가 모르는 부분은 클론코딩)
2. Class 구조:
- Class1(Student): 변수 선언, Scanner 입력값 받는 메서드 생성 목적
- Class2(Point): 시스템 메뉴 1~6 메서드 생성 목적
- MainClass: List 선언과 메서드 호출 목적
3. git: https://github.com/klyhyeon/Java/commit/63579df668d2c5c5f31477db7fdb10153d8dd2f6
알아두기
1. double: 연산자가 있을 때 최소 하나만 double이면 결과값의 데이터 타입은 double이다.
2. printf: "%4s %6s..." 숫자의 의미는 공백(space)너비이다.
3. Method: 메서드를 받기 위해선 MainClass에 객체를 생성하고, 객체 레퍼런스로 메서드를 호출해야 한다.
4. List.add: List에 배열을 add 하려면 매개변수를 객체 레퍼런스로 입력하면 된다.
5. Array(null): 배열 반복문 null이 출력되지 않도록 배열에 들어가는 객체의 첫 번째 변수를 특정하여 if문을 써준다.
for (Student s : sList) {
if(s.getStuId() == null) break;
//배열 내 값이 여러개 있기 때문에 하나의 변수를 특정지어서 null로 지정해줘야한다.
s.outputStuInfo();
totalAvg += s.getAvg();
6. foreach: foreach문에서 배열을 담는 변수는 index의 역할 또한 수행한다.
7. if-else return: if-else + return을 써주면 메서드가 호출된 영역으로 turnback 한다. 더이상 진행할 게 없으면 함수종료.
for (Student s : sList) {
if(inputId.equals(s.getStuId())) {
System.out.printf("%s 학생의 성적 삭제를 진행합니다.\n", s.getName());
System.out.println("[Y/N]");
String answer = sc.next();
if(answer.toLowerCase().equals("y")) {
sList.remove(s);
//foreach문 s가 index 역할까지 하는구나.
System.out.println("삭제가 정상 처리되었습니다.");
} else {
System.out.println("삭제를 취소합니다.");
return;
//return은 메서드가 호출된 곳으로 turnback 한다.
//진행할 게 더 없으면 함수를 종료시킨다.
}
flag = true;
break;
}
}
'개발공부 > Java' 카테고리의 다른 글
(11) 자료형 구조 [Map] (0) | 2020.08.05 |
---|---|
(10) List(ArrayList) (0) | 2020.07.13 |
(8) 로또 시뮬레이터 예제 (0) | 2020.07.10 |
(7) Array 예제(Person) (0) | 2020.07.08 |
(6) 주요 APIⅡ(String, System, Wrapper) (0) | 2020.07.08 |