본문 바로가기

국비교육/국비교육 복습

Day09_oop.method6 : 메소드 연습 (5)

(Q) 다음 데이터를 요구사항에 맞게 구조화하고 출력하세요

 

 

- 새벽배송이 가능한 상품은 2500원의 배송비가 추가됨을 출력 시 표시해야 합니다

- 행사중인 상품은 가격 옆에 "행사중"이라고 출력해야 합니다

- 행사중인 상품은 가격을 10% 할인해서 출력해야 합니다

 

 

Commodity 클래스

 

package day09_oop.method6;

public class Commodity {

	// 멤버 필드
	String name;
	String type;
	int price;
	boolean deliveryTF;
	boolean eventTF;	
		
	// 세팅 멤소드
	void setting(String name, String type, int price, boolean deliveryTF, boolean eventTF) {
		this.name = name;
		this.type = type;
		this.price = price;
		this.deliveryTF = deliveryTF;
		this.eventTF = eventTF;
	}
		
	// 출력 메소드
	void print() {
		System.out.println("상품명 : " + this.name);
		System.out.println("상품분류 : " + this.type);
		
		if(this.eventTF) {
			int discounted = this.price * (100 - 10) / 100;
			System.out.println("판매가 : " + discounted  + " (행사중)");
		}
		else {
			System.out.println("판매가 : " + this.price);
		}
		System.out.print("새벽배송 : ");
		if(deliveryTF) {
			System.out.println("가능 (+2500원)");
		}
		else {
			System.out.println("불가능");
		}
		System.out.println();
	}
}

 

 

 

Test01 

 

package day09_oop.method6;

public class Test01 {

	public static void main(String[] args) {
		
		// 객체 생성
		Commodity a = new Commodity();
		a.setting("참이슬후레쉬", "주류", 1200, true, true);
		
		Commodity b = new Commodity();
		b.setting("클라우드맥주", "주류", 3000, false, true);
		
		Commodity c = new Commodity();
		c.setting("바나나킥", "과자", 1500, false, true);
		
		Commodity d = new Commodity();
		d.setting("허니버터칩", "과자", 1200, true, false);
		
		// 출력
		a.print();
		b.print();
		c.print();
		d.print();
	}
}