Language/Java

[Java] 실습 fruitSalesVer01

arajo 2022. 8. 5. 21:47
728x90
package fruitSales.ver01;
//--------------------------------------------------------------------------
// 과일 장수
//--------------------------------------------------------------------------
class FruitSeller {
		  int numOfApple  = 100;  // 사과 보유 개수
		  int myMoney	  = 0;    // 보유 금액
	final int APPLE_PRICE = 1000; // 사과 1개당 판매 금액
	
	// 파는 행위
	public int saleApple(int money) {  // 돈을 받는다. => (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 = 50000; 	// 보유 금액
	int 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 fruitSalesVer01 {

	public static void main(String[] args) {
		FruitSeller seller1 = new FruitSeller();	// 과일 장수 1 등장
		FruitSeller seller2 = new FruitSeller();	// 과일 장수 2 등장
		FruitSeller seller3 = new FruitSeller();	// 과일 장수 3 등장
		
		FruitBuyer buyer = new FruitBuyer();		// 과일 구매자 등장
		// 과일 구매자 등장
		buyer.buyApple(seller1, 10000);
		buyer.showBuyResult(); // 과일 구매자의 현재 상황
		seller1.showSaleResult(); // 과일 판매자의 현재 현황
		
		buyer.buyApple(seller2, 20000);
		buyer.showBuyResult(); // 과일 구매자의 현재 상황
		seller1.showSaleResult(); // 과일 판매자의 현재 현황
		
		buyer.buyApple(seller3, 10000);
		buyer.showBuyResult(); // 과일 구매자의 현재 상황
		seller1.showSaleResult(); // 과일 판매자의 현재 현황
		
		// 과일을 구매하는 행위
		
	}

} // End - public class fruitSalesVer01

출력 결과