내용: 4개의 클래스를 만들어 비디오 대여 프로그램 작성
GeneralMember : 회원 과 관련된 클래스
Video : 비디오 정보와 관련된 클래스
Member : 회원이 대여한 비디오 정보 클래스
Main : 메인 클래스
package kosta.video;
public class GeneralMember {
private String id;
private String name;
private String address;
private Video rental; // 대여한 비디오
public GeneralMember() {
}
public GeneralMember(String id, String name, String address) {
super();
this.id = id;
this.name = name;
this.address = address;
}
public void print() {
System.out.println("회원의 아이디 :" + id);
System.out.println("회원의 이름 :" + name);
System.out.println("회원의 주소 :" + address);
rental.print();
System.out.println("=============================");
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Video getRental() {
return rental;
}
public void setRental(Video rental) {
this.rental = rental;
}
}
package kosta.video;
public class Video {
private String videoNo;
private String title;
private String actor;
public Video() {
}
public Video(String videoNo, String title, String actor) {
super();
this.videoNo = videoNo;
this.title = title;
this.actor = actor;
}
public void print() {
System.out.println("회원이 대여한 비디오 번호 : " + videoNo);
System.out.println("회원이 대여한 비디오 제목 : " + title);
System.out.println("회원이 대여한 비디오 주인공 : " + actor);
}
public String getVideoNo() {
return videoNo;
}
public void setVideoNo(String videoNo) {
this.videoNo = videoNo;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
}
package kosta.video;
public class Member {
private String id;
private String name;
private String address;
public Member() {
}
public Member(String id, String name, String address) {
super();
this.id = id;
this.name = name;
this.address = address;
}
public void rentalVideo(Video video) {
video.print();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
package kosta.video;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// Video v1 = new Video("1","경관의피","조진웅");
// Video v2 = new Video("2","기생충","송강호");
Video videos[] = {
new Video("1","경관의피","조진웅"),
new Video("2","기생충","송강호")
};
GeneralMember members[] = {
new GeneralMember("aaa","홍길동","가산"),
new GeneralMember("bbb","박길동","서울")
};
for(int i = 0; i < members.length; i++) {
members[i].setRental(videos[i]);
members[i].print();
}
GeneralMember m = new GeneralMember("aaa","홍길동","가산");
m.setRental(v1);
m.print();
Member m = new Member("3","김길동","동탄");
m.rentalVideo(videos[1]);
}
}
내용 : 3개의 클래스를 만들어 수강 신청 프로그램 작성
결과
1. 한 학생의 수강신청 목록을 조회
2. 과목을 신청한 학생의 목록을 조회
Course : 과목 과 관련된 클래스
Student : 학생 과 관련된 클래스
Main : 메인 클래스
package kosta.relation1;
import java.util.ArrayList;
import java.util.List;
public class Course {// 수강 과목 관련 내용
private String title;//과목명
private List<Student> students;//수강신청한 학생명단
public Course() {
}
public Course(String title) {
super();
this.title = title;
students = new ArrayList<Student>();
}
public void addStudent(Student student) {
students.add(student);
}
public void removeStudent(Student student) {
students.remove(student);
}
public void printCourse() {
System.out.println("과목명 :"+title);
for(Student student : students) {
System.out.println("학생명 : "+ student.getName());
}
}
public void show() {
System.out.println("과목명 :"+title);
}
public String getTitle() {
return title;
}
public void setSub(String sub) {
this.title = sub;
}
}
package kosta.relation1;
import java.util.ArrayList;
import java.util.List;
public class Student {
private String name;
private List<Course> courses; //학생이 수강신청 과목들
public Student() {
}
public Student(String name) {
this.name = name;
courses = new ArrayList<Course>();
}
public void register(Course course) {
courses.add(course);//학생이 수강과목을 등록
course.addStudent(this);//수강과목에 학생을 등록
}
public void dropCourse(Course course) {
if(courses.contains(course)) {
courses.remove(course);
course.removeStudent(this);
}
}
public void printMember() {
System.out.println("학생 이름 : " + name);
for(Course course : courses ) {
System.out.println("수강 과목 : " + course.getTitle());
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Course> getSub() {
return courses;
}
public void setSub(List<Course> courses) {
this.courses = courses;
}
}
package kosta.relation1;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Course c1 = new Course("전산학개론");
Course c2 = new Course("기초통계학");
Course c3 = new Course("빅데이터개론");
Student s1 = new Student("홍길동");
Student s2 = new Student("박길동");
s1.register(c1);
s1.register(c2);
s1.register(c3);
s2.register(c3);
s1.dropCourse(c1);
s1.printMember();
c3.printCourse();
}
}