class Product{
String name;
int price;
int bonusPoint;
public Product(String name, int price){
this.name = name;
this.price = price;
bonusPoint = price/10;
}
}
class Notebook extends Product{
NoteBook(String name, int price){
super(name, price);
}
@Override
public String toString() {
return "NoteBook";
}
}
class Styler extends Product{
public Styler(String name, int price){
super(name,price);
}
@Override
public String toString(){
return "Styler";
}
}
class Fridge extends Product{
public Fridge(String name, int price){
super(name, price);
}
@Override
public String toString() {
return "냉장고";
}
}
class Buyer{
String name;
int money;
int mileage;
Vetor item = new Vector();
public Buyer(String name, int money){
this.name = name;
this.money = money;
}
void buy(Product pd){
if(money < pd.price){
System.out.println("돈 가져와");
return;
}
money -= pd.price;
mileage += pd.bonusPoint;
item.add(pd);
System.out.println(name+"고객님 "+pd+"를 구매해주셔셔 감사합니다");
}
void summary(){
System.out.println();
System.out.println("\t영\t수\t증");
System.out.println("구매목록");
if(item.size() == 0){
System.out.println("구매하신 물건이 없습니다.");
return;
}
int sum = 0;
for(int idx = 0; idx < item.size() ; idx++){
if(item.get(idx) instanceof Product){
Product pd = (Product)item.get(idx);
System.out.println("\t"+pd.name+ "\t"+ pd.price+"만원");
sum+=pd.price;
}
}
System.out.println("-----------총합 : " + sum +"만원----------"+"\n"+
name+" 고객님의 남은돈은 "+money+"만원이고\n마일리지는 "+mileage+"만원입니다.\n오늘도 좋은하루 보내십쇼 호갱님~!");
}
void refund (Product pd){
if(item.isEmpty()){
System.out.println("구매하신 물건이 없습니다.)"
return;
}
if(item.remove(pd)){
money += pd.price;
mileage -= pd.bonusPoint;
System.out.println(pd+"를 반품하셨습니다.");
}else{
System.out.println();
System.out.println(pd+"를 구매하신 적이 없습니다.");
}
}
}
public class ProductTest {
public static void main(String[] args) {
NoteBook nb = new NoteBook("Mac", 200);
Styler st = new Styler("LG", 100);
Fridge f = new Fridge("SAMSUNG",500);
Buyer b = new Buyer("이운주", 1000);
b.buy(nb);
b.buy(nb);
b.buy(st);
b.buy(st);
b.summary();
b.refund(f);
}
}