package baek;
public class Product2 {
Product2() {}
int price;
int point;
Product2(int price) {
this.price = price;
point = (int) (price / 10.0);
}
}
class Tv extends Product2 {
Tv() { super(100); }
public String toString() { return "TV"; }
}
class Computer extends Product2 {
Computer() { super(200); }
public String toString() { return "Computer"; }
}
class Buyer {
Buyer() {}
int myMoney = 400;
int myPoint = 0;
Product2[] cart = new Product2[10];
int i = 0;
void buy(Product2 p) {
if (myMoney < p.price) {
System.out.println("잔액이 부족합니다.");
return;
} else {
myMoney -= p.price;
myPoint += p.point;
cart[i++] = p;
System.out.printf("[%s] 구매\n", p);
}
}
void cartIn() {
int sum = 0;
String itemList = "";
for (int i = 0; i < cart.length; i++) {
if (cart[i] == null) { break; }
else {
sum += cart[i].price;
itemList += "[" + cart[i].toString() + "] ";
}
}
System.out.printf("총 금액 : %d만원\n", sum);
System.out.printf("선택한 제품 : %s\n", itemList);
}
}
class Act {
public static void main(String[] args) {
Buyer b = new Buyer();
b.buy(new Tv());
b.buy(new Computer());
b.cartIn();
System.out.printf("잔액은 %d만원 입니다.\n", b.myMoney);
System.out.printf("잔여 포인트는 %d점 입니다.\n", b.myPoint);
}
}
// console
[TV] 구매
[Computer] 구매
총 금액 : 300만원
선택한 제품 : [TV] [Computer]
잔액은 100만원 입니다.
잔여 포인트는 30점 입니다.