본문 바로가기

Backend/JAVA12

[JAVA] Store 프로젝트 물품과 판매 데이터의 관리 프로그램 - 물품 : 판매 물품 기본 정보(물품 코드 / 이름 / 가격) - 사용자 : 사용자 기본 정보(주문 아이디 / 사용자 / 주문 아이템 리스트) - 주문 : 사용자가 판매 물품 여러 개를 개수 지정하여 선택 (+주문 아이템 : 물품 * 개수) // 내부 클래스로 물품 여러개를 가지는 arraylist로 구현 후, 주문할 수 있도록 한다. store 패키지 - Store 클래스 - User 클래스 - Item 클래스 - Order 클래스 >> (내부) OrderItem 클래스 mgr 패키지 - Manager 클래스 - Manageable 클래스 - Factory 클래스 items.txt 입력 값 예시) F3286 델리투명자 1140 users.txt 입력 값 예시) le.. 2020. 10. 23.
[JAVA] 학과 프로그램 #5 - 강의 수강 기능 추가(+파일) 여러 개의 클래스 프로그램 "새로운 기능을 추가하기 위해 클래스가 추가되는 경우" 기존에 검색 기능을 추가할 때는 메서드만 추가하면 되었었다. 하지만 'Lecture'이라는 기능을 추가하기 위해서는 학생이 수강하는 수업을 학과에서 관리해야 하기 때문에 'Lecture' 데이터를 가지고 있는 클래스를 추가해야 한다. 혹은 팀 기능을 추가하기 위해서 새로운 클래스를 만들어야 할 수도 있다. (수강 정보 처리 기능) - 과목 정보 입력 - 학생의 수강 정보 입력 (수강 정보 검색 기능) - 과목을 수강하는 학생 - 학생이 수강하는 과목 - 해당 요일에 수업이 있는 학생 // Lecture 클래스 class Lecture(){ ArrayList registeredList = new ArrayList(); voi.. 2020. 10. 3.
[JAVA] 학과 프로그램 #4 - 점수 기능 추가하기(+파일) 이전 학과 프로그램 내용을 습득해야 알 수 있는 내용이다. jihyeong-ji99hy99.tistory.com/86 를 보고 오도록 하자. 점수 기능 추가하기 1) 데이터 결정 : 학생의 점수 이므로 SRP 원칙에 의해 학생 클래스에서 담당 2) 기능 추가 : 점수 입력, 출력, 검색 기능 Department 클래스 - void readScores() 메서드 : 학생 이름 출력 후, 점수 입력 - void searchScore() 메서드 : 점수 구간에 해당하는 학생 출력 // Department 클래스 void run(){ readAll(); printAll(); inputScore(); } void inputScore(){ System.out.println("학생 점수 입력"); for(Studen.. 2020. 9. 20.
[JAVA] 학과 프로그램 #3 - 검색 기능 추가하기 이전 학과 프로그램을 알아야 따라올 수 있는 내용이다. jihyeong-ji99hy99.tistory.com/85 를 보고 오도록 하자. 비교 메서드를 이용한 검색 : 학과가 저장하고 있는 여러 학생 정보 검색하기 (단계) 1) 이름 검색 2) 이름과 학번 검색 3) 모든 필드 검색 4) 여러 개 키워드 검색 이름 검색 기능 // Department 클래스의 검색 함수 void search(){ String name = null; while(true){ System.out.print("이름: "); name = s.next(); if(name.equals("end")) break; for(Student st : studentList){ if(st.name.equals(name)) st.print(); }.. 2020. 9. 20.
[JAVA] 학과 프로그램 #2 - n개의 객체 입력하기 학과 프로그램 만들기 #1 - jihyeong-ji99hy99.tistory.com/84 이전 학과 프로그램 #1에서 만든 클래스와 메서드를 진행하므로 #1을 보고 오도록 하자. n개의 객체 입력하기 void readAll() { int id = 0; while(true) { id = s.nextInt(); if(id == 0) break; Student st = new Student(id); st.read(s); studentList.add(st); } } 보통 위의 같은 코드를 생각하면 id 값을 기준으로 객체가 생성하므로 옳다고 생각할 수 있지만 위의 코드는 InputMismatchException 오류가 발생한다. 해당 오류는 왜 발생하는가? 그것은 read() 함수에서 id 값을 한번 더 읽어 .. 2020. 9. 20.
[JAVA] 학과 프로그램 #1 - 기본 클래스 만들기 클래스 만드는 순서 1) 학생(객체)이 가져야 할 데이터가 무엇인지, 타입의 값을 정한다. // student 클래스 2) 학생 클래스에 이 데이터를 저장할 필드를 만든다. // student 클래스 3) 생성자 확인 - 객체가 만들어질 때 필요한 일 // department 클래스 4) 입력 메소드 // read 메서드 5) 출력 메소드 // print 메서드 학생 클래스 - 서브 클래스 학생이 갖게 될 데이터 객체 class Student{ String name; int id; String phone; int year; } 학과 클래스 - 메인 클래스 // 메인 클래스에서 run, doit 메서드를 가진다. 역할) 학생 객체를 만들고, 학생 정보를 읽어 출력함. -> 입력, 출력 메서드 호출 publ.. 2020. 9. 20.