JAVA 자료실

매출 계산기 III

페이지 정보

작성자 최고관리자 작성일 70-01-01 09:00 조회 299 댓글 0

본문

[code=php]
import java.util.ArrayList;
import java.util.Random;

public class SalesAnalyzer {

    // 주문 리스트
    private ArrayList<Menu> orders;

    public SalesAnalyzer() {
        orders = new ArrayList<Menu>();
    }

    // 메인 테스트
    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++) {
            orders.add(randomOrder());
        }
    }

    private Menu randomOrder() {
        Menu menu = null;
        Random random = new Random();
        switch (random.nextInt(7)) {
        case 0:
            menu = new Ramyun();
            break;
        case 1:
            menu = new Kimbob();
            break;
        case 2:
            menu = new Topokki();
            break;
        case 3:
            menu = new Twigim();
            break;
        case 4:
            menu = new Sundae();
            break;
        case 5:
            menu = new Mandu();
            break;
        case 6:
            menu = new Odeng();
            break;
        }
        return menu;
    }

    // 매출 계산
    public int calculateSales() {
        int totalSales = 0;
        int raCount = 0;
        int kimCount = 0;
        int toCount = 0;
        int twiCount = 0;
        int sunCount = 0;
        int manCount = 0;
        int oCount = 0;

        for (Menu menu : orders) {
            if (menu.getClass() == Ramyun.class)
                raCount++;
            else if (menu.getClass() == Kimbob.class)
                kimCount++;
            else if (menu.getClass() == Topokki.class)
                toCount++;
            else if (menu.getClass() == Twigim.class)
                twiCount++;
            else if (menu.getClass() == Sundae.class)
                sunCount++;
            else if (menu.getClass() == Mandu.class)
                manCount++;
            else if (menu.getClass() == Odeng.class)
                oCount++;

            totalSales += menu.getPrice();
        }

        int raSales = Ramyun.PRICE * raCount;
        int kimSales = Kimbob.PRICE * kimCount;
        int toSales = Topokki.PRICE * toCount;
        int sunSales = Sundae.PRICE * sunCount;
        int twiSales = Twigim.PRICE * twiCount;
        int manSales = Mandu.PRICE * manCount;
        int oSales = Odeng.PRICE * oCount;

        System.out.printf("[라면] %d개: %d원\n", raCount, raSales);
        System.out.printf("[김밥] %d개: %d원\n", kimCount, kimSales);
        System.out.printf("[떡볶이] %d개: %d원\n", toCount, toSales);
        System.out.printf("[튀김] %d개: %d원\n", twiCount, twiSales);
        System.out.printf("[순대] %d개: %d원\n", sunCount, sunSales);
        System.out.printf("[만두] %d개: %d원\n", manCount, manSales);
        System.out.printf("[오뎅] %d개: %d원\n", oCount, oSales);
        System.out.println("==================");

        return totalSales;
    }
}
[/code]

댓글목록 0

등록된 댓글이 없습니다.

알림 0