728x90
package fruitSales.ver03;
//--------------------------------------------------------------------------
//과일 판매자
//--------------------------------------------------------------------------
class FruitSeller {
int numOfApple;
int myMoney;
final int APPLE_PRICE; // 상수는 선언과 동시에 값을 지정해야 하나, 초기화를 통해서 지정할 수 있다.
public FruitSeller() {
// myMoney = 15000;
// numOfApple = 200;
// APPLE_PRICE = 1500; 아래의 한줄처럼 할 수 있다.
this(15000, 200, 1500);
}
public FruitSeller(int money, int num) {
this(money, num, 1500);
}
public FruitSeller(int money, int appleNum, int price) {
myMoney = money;
numOfApple = appleNum;
APPLE_PRICE = price;
}
public int saleApple(int money) {
int num = money / APPLE_PRICE;
myMoney += money;
numOfApple -= num;
return num;
}
public void showSaleResult() {
System.out.println("남은 사과 : " + numOfApple);
System.out.println("판매 수익 : " + myMoney);
}
} // - End class FruitSeller
//--------------------------------------------------------------------------
// 과일 구매자
//--------------------------------------------------------------------------
class FruitBuyer {
int myMoney;
int numOfApple;
public FruitBuyer(int money) { // 생성자를 통해 돈을 준비한다.
myMoney = money;
numOfApple = 0;
}
public void buyApple(FruitSeller seller, int money) {
numOfApple += seller.saleApple(money); // 돈을 주고 사과를 받는다.
myMoney -= money; // 돈을 구매한 만큼 차감한다.
}
public void showBuyResult() {
System.out.println("현재 잔액 : " + myMoney);
System.out.println("사과 개수 : " + numOfApple);
}
} // - End class FruitBuyer
//--------------------------------------------------------------------------
// 시장
//--------------------------------------------------------------------------
public class FruitSalesVer03 {
public static void main(String[] args) {
FruitSeller seller1 = new FruitSeller(); // 사과 장수 1
FruitSeller seller2 = new FruitSeller(0, 150, 1300); // 사과 장수 2
FruitBuyer buyer1 = new FruitBuyer(15000); // 과일 구매자 1
FruitBuyer buyer2 = new FruitBuyer(20000); // 과일 구매자 2
buyer1.buyApple(seller2, 5000);
buyer2.buyApple(seller1, 3000);
System.out.println("과일 판매자 1의 현황");
seller1.showSaleResult();
System.out.println("과일 판매자 2의 현황");
seller2.showSaleResult();
System.out.println("과일 구매자 1의 현황");
buyer1.showBuyResult();
System.out.println("과일 구매자 2의 현황");
buyer2.showBuyResult();
}
} // - End public class FruitSalesVer03
'Language > Java' 카테고리의 다른 글
[Java] 실습 CaptionTvExam (0) | 2022.08.08 |
---|---|
[Java] 실습 PhoneBookVer03 (0) | 2022.08.08 |
[Java] 실습 fruitSalesVer02 (0) | 2022.08.08 |
[Java] 실습 fruitSalesVer01 (0) | 2022.08.05 |
[Java] 실습 PhoneBookVer01, PhoneBookVer02 (0) | 2022.08.05 |