티스토리 뷰

Programming Language/Java 실습

7/19 실습_2

mming_0213 2019. 7. 20. 14:59

<문제>

...더보기

* Plane에 대한 클래스

1. 속성: private (String)model, private (String)airline

          , private (HashSet)fixHis (수리이력)

2. 생성자

   Plane(String model, String airline)

3. 메소드: 

   public void addFixHis(FixHis his): 수리이력을 추가한다

              - 같은 수리이력을 추가할 수 없다(airport/date/cmt)

   public void printFixtHis(): 수리이력을 출력한다

              - 수리이력을 출력: 공항-날자-사고내용

 

 * FixHis(수리이력) 클래스 

 1. 속성: private (String) airport(공항), private (String) date(수리일자)

           , private (String) cmt(수리내용)

 2. 생성자

   FixHis(Sting airport, String date, String cmt)

 3. 메소드

   get/set Method

   public boolean equals(Object obj) // override, 동일기준: 공항/수리일자/수리내용

   public int hashCode() // override,  동일기준: 공항/수리일자/수리내용

<실습1>

package Day190719;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Objects;

class Plane{	
	private String model;
	private String airline;
	private HashSet fixHis = new HashSet(); //수리 이력
	
	Plane(String model, String airline){
		this.model = model;
		this.airline = airline;
	}
	
	//수리 이력 추가.
	//같은 수리이력을 추가할 수 없다(airport/date/cmt)
	public void addFixHis(FixHis his) {		
		fixHis.add(his);
	}
	
	//수리이력 출력
	//수리이력을 출력: 공항-날자-사고내용
	public void printFixHis() {
			Iterator it = fixHis.iterator();
			
			while(it.hasNext()) {
				FixHis fh = (FixHis)it.next();
				System.out.println(fh.getAirport() + "-" + fh.getDate() + "-" + fh.getCmt() );
			}
	}

}

//수리이력 클래스
class FixHis{
	private String airport;
	private String date;
	private String cmt; //수리내용

	FixHis(String airport, String date, String cmt){
		this.airport = airport;
		this.date = date;
		this.cmt = cmt;
	}
	
	public void setAirport(String airport) {
		this.airport = airport;
	}
	
	public String getAirport() {
		return airport;
	}
	
	public void setDate(String date) {
		this.date = date;
	}
	
	public String getDate() {
		return date;
	}
	
	public void setCmt(String cmt){
		this.cmt = cmt;
	}
	
	public String getCmt() {
		return cmt;
	}
	
	public boolean equals(Object obj) {
		if(obj != null && obj instanceof FixHis) {
			String thisTmp = airport + date + cmt;
			String tmp = ((FixHis)obj).getAirport() + ((FixHis)obj).getDate() + ((FixHis)obj).getCmt();
			return thisTmp.equals(tmp);
		}
		else return false;
	}
	
	public int hashCode() {
		return Objects.hash(airport, date, cmt);
	}
}

public class PlaneTest {

	public static void main(String[] args) {
		Plane p = new Plane("A-34", "아시아나항공");
		FixHis f = new FixHis("인천공항", "20190719", "날개수리");
		FixHis f1 = new FixHis("인천공항", "20190719", "날개수리");
		FixHis f2 = new FixHis("김포공항", "20190719", "바퀴수리");
		
		p.addFixHis(f);
		p.addFixHis(f1);
		p.addFixHis(f2);
		p.printFixHis();


	}

}

'Programming Language > Java 실습' 카테고리의 다른 글

7/23 실습(Generics)  (0) 2019.07.23
7/22 실습  (0) 2019.07.22
7/19 실습  (0) 2019.07.20
7/18  (0) 2019.07.20
7/17 실습  (0) 2019.07.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
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 29 30 31
글 보관함