Kamis, 02 Oktober 2014

Lipstick Shoooopp

package com.sky.study;

import java.util.Scanner;

public class SNSD {

    /**
     * @param args
     */

    static Scanner in = new Scanner(System.in);
    static String nama;
    static int input;

    // static ArrayList<String> a = new ArrayList<String>();
    // static Vector<String> a = new Vector<String>();

    static String namaBarang[] = new String[5];
    static int stock[] = new int[5];
    static int price[] = new int[5];

    static String CnamaBarang[] = new String[999];
    static int CjmlPesan[] = new int[999];
    static int Cprice[] = new int[999];

    static int jumlahBarang = 0, total = 0;

    public static void clear() {
        for (int i = 0; i < 25; i++) {
            System.out.println();
        }
    }

    public static void title() {
        System.out.println("\t\t\t\t\tO))       O))      O)       O))   O))  O))))))))");
        System.out.println("\t\t\t\t\tO) O))   O)))     O) ))     O))  O))   O))");
        System.out.println("\t\t\t\t\tO) O))   O)))     O) ))     O))  O))   O))");
        System.out.println("\t\t\t\t\tO)) O)) O O))    O)  O))    O)) O))    O))");
        System.out.println("\t\t\t\t\tO))  O))  O))   O))   O))   O) O)      O))))))");
        System.out.println("\t\t\t\t\tO))   O)  O))  O)))))) O))  O))  O))   O))");
        System.out.println("\t\t\t\t\tO))       O)) O))       O)) O))   O))  O))");
        System.out.println("\t\t\t\t\tO))       O))O))         O))O))     O))O))))))))");

        System.out.println("\t\t\t\t\t\t\tO))     O))O)))))))");
        System.out.println("\t\t\t\t\t\t\tO))     O))O))    O))");
        System.out.println("\t\t\t\t\t\t\tO))     O))O))    O))");
        System.out.println("\t\t\t\t\t\t\tO))     O))O)))))))");
        System.out.println("\t\t\t\t\t\t\tO))     O))O))");
        System.out.println("\t\t\t\t\t\t\tO))     O))O))");
        System.out.println("\t\t\t\t\t\t\tO)))))   O))");

        System.out.println("Hello, " + nama);
        System.out
                .println("=======================================================================");

    }

    public static void menu() {
        System.out.println("1. View Product");
        System.out.println("2. Buy Product");
        System.out.println("3. My Cart");
        System.out.println("4. Purchase");
        System.out.println("5. Exit");
        System.out.print("Your choice : ");
    }

    public static void init() {
        namaBarang[0] = "Lipstick";
        namaBarang[1] = "Eye Shadow";
        namaBarang[2] = "Nail Polish";
        namaBarang[3] = "Blush On";
        namaBarang[4] = "Eye Liner";

        price[0] = 70000;
        price[1] = 60000;
        price[2] = 50000;
        price[3] = 110000;
        price[4] = 65000;

        stock[0] = 10;
        stock[1] = 6;
        stock[2] = 7;
        stock[3] = 3;
        stock[4] = 0;
    }

    public static void menu1() {
        System.out.println("==================================================");
        System.out.printf("|%-25s|%-10s|%-10s|\n", " Name", " Price", " Stock");
        System.out.println("==================================================");

        for (int i = 0; i < 5; i++) {
            System.out.printf("|%-25s|%-10d|%-10d|\n", namaBarang[i], price[i],
                    stock[i]);
        }

        System.out.println("==================================================");
        System.out.print("Press Enter to continue..");
        in.nextLine();
    }

    public static void menu2() {

        System.out.println("==================================================");
        System.out.printf("|%-25s|%-10s|%-10s|\n", " Name", " Price", " Stock");
        System.out.println("==================================================");

        for (int i = 0; i < namaBarang.length; i++) {
            System.out.printf("|%-25s|%-10d|%-10d|\n", namaBarang[i], price[i],
                    stock[i]);
        }

        System.out.println("==================================================");

        String product;
        int valid, pilih;
        do {
            valid = pilih = 0;
            System.out.print("Choose the product : ");
            product = in.nextLine();

            for (int i = 0; i < 5; i++) {
                if (product.equalsIgnoreCase(namaBarang[i])) {
                    pilih = i;
                    valid = 1;
                    break;
                }
            }
            if (valid == 0 || stock[pilih] == 0) {
                System.out
                        .println("Invalid product name or the product is out of stock..");
            }
        } while (valid == 0);

        if(stock[pilih] != 0){
            System.out.println("Product stock are " + stock[pilih]);
   
            int qty;
            do {
                try {
                    System.out.print("Input Qty of product : ");
                    qty = in.nextInt();
                } catch (Exception e) {
                    qty = -1;
                } finally {
                    in.nextLine();
                }
            } while (qty > stock[pilih]);
           
            stock[pilih] = stock[pilih]-qty;
           
            System.out.println("Success.. !");
   
            CnamaBarang[jumlahBarang] = namaBarang[pilih];
            CjmlPesan[jumlahBarang] = qty;
            Cprice[jumlahBarang] = price[pilih];
            jumlahBarang++;
        }
        in.nextLine();
    }

    public static void menu3() {
        if (jumlahBarang > 0) {
            System.out.println("==================================================");
            System.out.printf("|%-25s|%-10s|%-10s|\n", " Name", " Price",
                    " Subtotal");
            System.out.println("==================================================");

            for (int i = 0; i < jumlahBarang; i++) {
                System.out.printf("|%-25s|%-10d|%-10d|\n", CnamaBarang[i],
                        CjmlPesan[i], Cprice[i] * CjmlPesan[i]);
            }

            System.out.println("==================================================");       
        } else {
            System.out.print("Empty..\n");
        }
        in.nextLine();
    }

    public static void showTotal() {
            clear();
            System.out.println("==================================================");
            System.out.printf("|%-25s|%-10s|%-10s|\n", " Name", " Price",
                " Subtotal");
            System.out
                .println("==================================================");

            total = 0;
            for (int i = 0; i < jumlahBarang; i++) {
                System.out.printf("|%-25s|%-10d|%-10d|\n", CnamaBarang[i],
                        CjmlPesan[i], Cprice[i] * CjmlPesan[i]);
                total += Cprice[i] * CjmlPesan[i];
            }
            System.out.println("==================================================");
            System.out.println("Total: "+total);
            System.out.println("Thank You");
            jumlahBarang = 0;
            in.nextLine();
       
    }

    public static void menu4() {
        if(jumlahBarang > 0){           
            System.out.println("==================================================");
            System.out.printf("|%-25s|%-10s|%-10s|\n", " Name", " Price",
                    " Subtotal");
            System.out.println("==================================================");
   
            for (int i = 0; i < jumlahBarang; i++) {
                System.out.printf("|%-25s|%-10d|%-10d|\n", CnamaBarang[i],
                        CjmlPesan[i], Cprice[i] * CjmlPesan[i]);
            }
            System.out.println("==================================================");
   
            String pilih;
            do {
                System.out.print("Are you sure to purchase these items?[Y/N] : ");
                pilih = in.nextLine();
            } while (pilih.charAt(0) != 'Y' && pilih.charAt(0) != 'N');
   
            if (pilih.charAt(0) == 'Y') {
                showTotal();
            }
        }else {
            System.out.print("Empty..\n");
            in.nextLine();
        }
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        init();
        clear(); // bersihkan layar

        do {
            System.out.print("Insert your name [5..10]: ");
            nama = in.nextLine();
        } while (nama.length() < 5 || nama.length() > 10);

        do {
            title();

            menu();

            try {
                input = in.nextInt();
            } catch (Exception e) {
                input = 0;
            } finally {
                in.nextLine();
            }

            switch (input) {
            case 1:
                menu1();
                break;
            case 2:
                menu2();
                break;
            case 3:
                menu3();
                break;
            case 4:
                menu4();
            }

        } while (input != 5);
    }

}