반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- CES 2O21 참여
- KNeighborsClassifier
- html
- web 용어
- web 사진
- cudnn
- web 개발
- mglearn
- 대이터
- tensorflow
- postorder
- 머신러닝
- Keras
- 데이터전문기관
- inorder
- classification
- 결합전문기관
- 웹 용어
- discrete_scatter
- 자료구조
- broscoding
- web
- paragraph
- pycharm
- CES 2O21 참가
- vscode
- C언어
- java역사
- bccard
- 재귀함수
Archives
- Today
- Total
bro's coding
java.SemiProject.SchoolService 본문
반응형
package model;
import java.util.ArrayList;
import java.util.Iterator;
public class SchoolService {
ArrayList<Person> list = new ArrayList<Person>();
public void addPerson(Person p) {
// TODO Auto-generated method stub
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getTel().equals(p.getTel())) {
System.out.println("중복중복!!!");
return;
}
}
list.add(p);
System.out.println("입력 완료!!!");
System.out.println(p);
}
public void printAll() {
Iterator<Person> it = list.iterator();
// TODO Auto-generated method stub
while (it.hasNext()) {
System.out.println(it.next());
}
}
public void deletePersonByTel(String tel) {
// TODO Auto-generated method stub
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getTel().equals(tel)) {
list.remove(i);
}
}
}
public Person findPersonByTel(String tel) {
// TODO Auto-generated method stub
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getTel().equals(tel)) {
return list.get(i);
}
}
return null;
}
}
package model;
public class Employee extends Person {
private String department;
public Employee(String tel, String name, String address, String department) {
super(tel, name, address);
this.department = department;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String toString() {
return super.toString() + " department: " + this.department;
}
}
1. 요구 분석
/*
**학사관리 프로젝트 list version**
- 요구사항
학교 구성원 정보를 관리하는 시스템을 구축하고자 한다
학교 구성원은 학생,교사,직원으로 구성된다
학생은 전화번호, 이름, 주소, 학번으로 구성된다
교사는 전화번호, 이름, 주소, 과목으로 구성된다
직원은 전화번호, 이름, 주소, 부서로 구성된다
주요기능
1. 구성원 정보를 등록
학교 구성원 정보(학생,교사,직원)를 등록할 수 있다
전화번호는 유일하다는 전제하에 등록시 기존 구서원 전화번호와
동일한 번호가 있을 경우 등록되어서는 안된다
(별도의 메세지 : 01012341234 tel이 중복되므로 등록불가합니다!)
2.전체 구성원 리스트 출력 (상세 정보가 다 출력)
3.구성원 정보 검색 : 전화번호로 구성원 정보를 검색해서 해당 객체를
반환받을 수 있다
만약 전화번호에 해당하는 구성원이 없을 경우
null을 반환한다.
4.구성원 정보 삭제 : 전화번호로 구성원 정보를 삭제할 수 있다.
만약 삭제할 구성원 정보가 없을 경우에는
예)
01012341234 tel에 해당하는 구성원이 없어서 삭제할 수 없음!
과 같이 메세지를 출력한다
요구분석, 설게 : 요구사항에 대한 토의
필요한 클래스(객체)를 선정해서 -> UML(Class Diagram으로 표현)
관계 설정
참고) 주요 클래스명, 인스턴스 변수, 주요업무 메서드명, 예상 가능한 것은 생략 가능
*/
주요 기능 추출 : 등록, 전체 출력, 검색, 삭제
2. 1차 분석 설계 class diagram 확정
3. 구현
> 클래스 구현 순서 : TestCase code 작성
> Menber or Person 부모클래스 작성
> 자식 클래스 작성
> SchoolService class의 등록 및 전체 출력 기능 구현 후 테스트
> Test Case(테스트 코드)
등록 후 전체 리스트 출력
> 검색
> 삭제
package test.step1;
import model.Employee;
import model.SchoolService;
import model.Student;
import model.Teacher;
public class TestCaseAdd {
public static void main(String[] args) {
SchoolService service = new SchoolService();
service.addPerson(new Student("0101231234", "이희은", "용인", "17"));
service.addPerson(new Teacher("0101231235", "신정희", "수지", "국어"));
service.addPerson(new Student("0101231236", "고보승", "수원", "16"));
service.addPerson(new Employee("0101231237", "이재훈", "화성", "재무부"));
service.addPerson(new Student("0101231238", "최인재", "용인", "18"));
service.addPerson(new Teacher("0101231239", "유예주", "용인", "수학"));
service.printAll();
//0101231234 tel 이 중복되어 추가될 수 없습니다
service.addPerson(new Student("0101231234", "아이유", "잠실", "18"));
System.out.println("***학교 구성원 등록 완료***");
service.printAll();// 6명 출력
}
}
package test.step2;
import model.Employee;
import model.Person;
import model.SchoolService;
import model.Student;
import model.Teacher;
public class TestCaseFind {
public static void main(String[] args) {
SchoolService service = new SchoolService();
service.addPerson(new Student("0101231234", "이희은", "용인", "17"));
service.addPerson(new Teacher("0101231235", "신정희", "수지", "국어"));
service.addPerson(new Student("0101231236", "고보승", "수원", "16"));
service.addPerson(new Employee("0101231237", "이재훈", "화성", "재무부"));
service.addPerson(new Student("0101231238", "최인재", "용인", "18"));
service.addPerson(new Teacher("0101231239", "유예주", "용인", "수학"));
service.printAll();
System.out.println("***학교 구성원 등록 완료***");
String tel = "0101231235";
tel = "0101231230";
Person p = service.findPersonByTel(tel);
System.out.println("검색결과:" + p); // tel에 해당하는 구성원이 있으면 출력하고 없으면 null이 출력됨
System.out.println("***검색완료***");
}
}
package test.step3;
import model.Employee;
import model.SchoolService;
import model.Student;
import model.Teacher;
public class TestCaseDelete {
public static void main(String[] args) {
SchoolService service = new SchoolService();
service.addPerson(new Student("0101231234", "이희은", "용인", "17"));
service.addPerson(new Teacher("0101231235", "신정희", "수지", "국어"));
service.addPerson(new Student("0101231236", "고보승", "수원", "16"));
service.addPerson(new Employee("0101231237", "이재훈", "화성", "재무부"));
service.addPerson(new Student("0101231238", "최인재", "용인", "18"));
service.addPerson(new Teacher("0101231239", "유예주", "용인", "수학"));
service.printAll();
System.out.println("***학교 구성원 등록 완료***");
service.deletePersonByTel("0101231239");
System.out.println("**삭제 후 명단**");
service.printAll();// 5명 출력
}
}
package model;
public class Person {
private String name;
private String tel;
private String address;
public Person(String tel, String name, String address) {
super();
this.name = name;
this.tel = tel;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String toString() {
return "tel: " + tel + " name: " + name + " address: " + address;
}
}
package model;
public class Student extends Person {
private String studentnum;
public Student(String tel, String name, String address, String studentnum) {
super(tel, name, address);
this.studentnum = studentnum;
}
public String getStudentnum() {
return studentnum;
}
public void setStudentnum(String studentnum) {
this.studentnum = studentnum;
}
public String toString() {
return super.toString() + " studentnum: " + this.studentnum;
}
}
package model;
public class Teacher extends Person {
private String subject;
public Teacher(String tel, String name, String address, String subject) {
super(tel, name, address);
this.subject = subject;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String toString() {
return super.toString() + " subject: " + this.subject;
}
}
반응형
'[IT] > java' 카테고리의 다른 글
java.Exception Handling(예외 처리) (0) | 2021.03.09 |
---|---|
java.map (0) | 2021.03.09 |
java.stack/queue (0) | 2021.03.09 |
java.ArrayList/LinkedList (0) | 2021.03.09 |
java.iterator(열거형) (0) | 2021.03.05 |
java.DTO/DAO/VO/Service (0) | 2021.03.05 |
javajava.Collection.List (0) | 2021.03.05 |
java.Random (0) | 2021.03.05 |
Comments