JAVA 자료실

심플 매출 계산기

작성자 정보

  • 작성자 최고관리자
  • 작성일

컨텐츠 정보

본문

SalesAnalyzer(매출 분석기)
주문이 들어오면 라면, 김밥같은 객체들을 일일히 기록
기록된 주문을 토대로 매출을 계산
Ramyun(라면)
메뉴의 이름과 가격 정보를 지님.
Kimbob(김밥)
메뉴의 이름과 가격 정보를 지님.

SalesAnalyzer.java


import java.util.ArrayList;
import java.util.Random;

public class SalesAnalyzer {

    // 주문 리스트
    private ArrayList<Ramyun> ramyunOrders;
    private ArrayList<Kimbob> kimbobOrders;

    public SalesAnalyzer() {
        this.ramyunOrders = new ArrayList<Ramyun>();
        this.kimbobOrders = new ArrayList<Kimbob>();
    }

    // 메인 테스트
    public static void main(String[] args) {
        SalesAnalyzer sales = new SalesAnalyzer();

        // 랜덤 주문 생성.
        sales.randomOrders();

        // 매출 계산.
        int totalSales = sales.calculateSales();
        System.out.println("총 매출액: " + totalSales + "원");
    }

    // 랜덤 주문 생산기
    public void randomOrders() {
        Random random = new Random();
        int n = 51 + random.nextInt(50);

        for (int i = 0; i < n; i++) {
            if (random.nextBoolean())
                addRamyunOrder(new Ramyun());
            else
                addKimbobOrder(new Kimbob());
        }
    }

    // 라면 주문 기록
    public void addRamyunOrder(Ramyun ramyun) {
        ramyunOrders.add(ramyun);
    }

    // 김밥 주문 기록
    public void addKimbobOrder(Kimbob kimbob) {
        kimbobOrders.add(kimbob);
    }

    // 매출 계산
    public int calculateSales() {
        int raCount = 0;
        int kimCount = 0;

        int raSales = Ramyun.PRICE * raCount;
        int kimSales = Kimbob.PRICE * kimCount;
        int totalSales = 0;

        System.out.printf("[라면] %d개: %d원n", raCount, raSales);
        System.out.printf("[김밥] %d개: %d원n", kimCount, kimSales);
        System.out.println("==================");

        return totalSales;
    }
}


Ramyun.java


public class Ramyun {
    public static final String NAME = "라면";
    public static final int PRICE = 3000;
}


Kimbob.java


public class Kimbob {
    public static final String NAME = "김밥";
    public static int PRICE = 2000;
}

관련자료

댓글 0
등록된 댓글이 없습니다.
알림 0