(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