/*package ch07Exer;
class Exercise7_19 {
public static void main(String[] args) {
Buyer b = new Buyer();
b.buy(new Tv());
b.buy(new Computer());
b.buy(new Tv());
b.buy(new Audio());
b.buy(new Computer());
b.buy(new Computer());
b.buy(new Computer());
b.summary();
}
}
class Buyer {
int money = 1000;
Product[] cart = new Product[3]; // 구입한 제품을 저장하기 위한 배열
static int i = 0; // Product배열 cart에 사용될index
void buy(Product p) {
if (money < p.price) {
System.out.println("잔액이 부족하여 " + p + "를 살 수 없습니다.");
return;
}
money -= p.price;
add(p);
}
void add(Product p) {
// 1.1 i의 값이 장바구니의 크기보다 같거나 크면
// 1.1.1 기존의 장바구니보다 2배 큰 새로운 배열을 생성한다.
// 1.1.2 기존의 장바구니의 내용을 새로운 배열에 복사한다.
// 1.1.3 새로운 장바구니와 기존의 장바구니를 바꾼다.
// 1.2 물건을 장바구니(cart)에 저장한다. 그리고 i의 값을 1 증가시킨다.
if (i >= cart.length) {
Product[] tmp = new Product[cart.length * 2];
System.arraycopy(cart, 0, tmp, 0, cart.length);
cart = tmp;
cart[i++] = p;
}
} // add(Product p)
void summary() {
// 1.1장바구니에 담긴 물건들의 목록을 만들어 출력
// 1.2 장바구니에 담긴 물건들의 가격을 모두 더해서 출력한다.
// 1.3 물건을 사고 남은 금액(money)를 출력한다.
// itemList += cart[i] + ",";
for (int i = 0; i < cart.length; i++) {
if (i == 0) {
System.out.print(cart[i]);
} else {
System.out.print(", " + cart[i]);
}
System.out.println();
}
String itemList = "";
int sum = 0;
for (int i = 0; i < cart.length; i++) {
if (cart[i] == null)
break;
itemList += cart[i] + ",";
sum += cart[i].price;
}
System.out.println(itemList);
System.out.println("물건의 총 금액" + sum);
System.out.println("남은금액: " + money);
for(int i = 0; i < cart.length; i++) {
System.out.println(cart[i]);
}
}
}
class Product {
int price; // 제품의 가격
Product(int price) {
this.price = price;
}
}
class Tv extends Product {
Tv() {
super(100);
}
public String toString() {
return "Tv";
}
}
class Computer extends Product {
Computer() {
super(200);
}
public String toString() {
return "Computer";
}
}
class Audio extends Product {
Audio() {
super(50);
}
public String toString() {
return "Audio";
}
}
*/
'IT 잡다 > sorcecode' 카테고리의 다른 글
magicSquare02-마방진 소스 (0) | 2015.04.30 |
---|---|
MagicSquare03 (0) | 2015.04.19 |
7장 연습문제 19 re (0) | 2015.04.07 |
wordScramble2 (0) | 2015.04.06 |
BaseballGame 소스코드 (0) | 2015.04.03 |