package zz_oop2_hw;
import java.util.Vector;
public class ProductTest {
public static void main(String[] args) {
NoteBook nb = new NoteBook("Mac", 300);
Styler st = new Styler("LG Styler", 200);
Fridge fr = new Fridge("Bespoke", 500);
Buyer b = new Buyer("듀듀꼰듀", 1000);
b.buy(fr);
b.buy(nb);
b.summary();
b.refund(nb);
b.refund(fr);
Buyer b2 = new Buyer ("치치꼰듀", 1500);
b2.refund(st);
}
}
class Product extends Object{
String name;
int price;
int point;
Product(String name, int price){
this.name = name;
this.price = price;
point = price/10;
}
}
class NoteBook extends Product{
public NoteBook(String name, int price){
super(name,price);
}
@Override
public String toString() {
return "노트북";
}
}
class Styler extends Product{
public Styler(String name, int price){
super(name,price);
}
@Override
public String toString() {
return "스타일러";
}
}
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;
Vector 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.point;
item.add(pd);
System.out.println(name+"님 "+pd+"를 구매해주셔서 감사합니다.");
}
void summary(){
System.out.println("------------------------\n\t<영 수 증>\n------------------------");
int sumPrice = 0;
for(int index = 0 ; index < item.size() ; index++){
if(item.get(index) instanceof Product){
Product pd = (Product)item.get(index);
System.out.println(item.get(index)+"\t"+pd.name+"\t"+pd.price+"만원");
sumPrice += pd.price;
}
}
System.out.println("총합: \t\t"+sumPrice+"만원");
System.out.println("------------------------");
System.out.println(name+"님의 잔액: \t"+money+"만원");
System.out.println(name+"님의 누적 포인트: "+mileage+"포인트\n------------------------\n");
}
void refund(Product pd){
if(item.size() > 0 ){
if(item.remove(pd)){
money += pd.price;
System.out.println(name+"님,\n환불 후 잔고는 "+money+"만원입니다.");
mileage -= pd.point;
System.out.println("환불 후 마일리지는 "+mileage+"포인트입니다.");
}else{
System.out.println(pd.name+"은 구매내역에 없는 제품입니다. 환불불가");
}
summary();
}else{
System.out.println(name+"님, 구매이력이 없어 환불해 드릴 수 없습니다.");
}
}
}
class Stock extends Product{
public Stock(String name, int price){
super(name,price);
}
void stockUp(){
}
void stockDown(){
}
}
class Customer{
}