GiantStepDEV
package ์•„์ดํŒจ๋“œ๋งŒ๋“ค๊ธฐ0112;

public class IPadProMain {
    public static void main(String[] args) throws InterruptedException {
        while(true) {
            IPadProMake iPad = new IPadProMake("iPad Pro");
            if(!iPad.continueOrder()) break;
            iPad.setScreen();
            iPad.setColor();
            iPad.setMemory();
            iPad.setNetwork();
            iPad.setName();
            iPad.setSerialNum();
            iPad.inProductPad();
            iPad.productPad();
        }
    }
}
package ์•„์ดํŒจ๋“œ๋งŒ๋“ค๊ธฐ0112;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import static java.lang.Thread.sleep;

public class IPadProMake {
    private int screen; // ํ™”๋ฉด ํฌ๊ธฐ : 11์ธ์น˜, 12.9์ธ์น˜
    private int color; // ์ƒ‰์ƒ : ์ŠคํŽ˜์ด์Šค ๊ทธ๋ ˆ์ด, ์‹ค๋ฒ„
    private int memory; // ์šฉ๋Ÿ‰ : 128GB, 256GB, 512GB, 1TB
    private int network; // ๋„คํŠธ์›Œํฌ : Wi-Fi, Wi-Fi+Cellular
    private String name; // ๊ฐ์ธ์„œ๋น„์Šค ์‹œ ์ด๋ฆ„ ์ €์žฅ
    private String productData; // ์ œํ’ˆ ์ƒ์‚ฐ ์ผ์ž (์ผ๋ จ ๋ฒˆํ˜ธ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ)
    private String serialNum; // ์ œํ’ˆ ์ผ๋ จ ๋ฒˆํ˜ธ : iPad13128C2301121
    private static int cnt = 0; // ํด๋ž˜์Šค ๋ณ€์ˆ˜ : ๊ฐ์ฒด ์ƒ์„ฑ์‹œ ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ  ํด๋ž˜์Šค ์ƒ์„ฑ์‹œ ๋งŒ๋“ค์–ด์ง.

    public IPadProMake(String name) {
        this.name = name;
        Date now = new Date(); // ํ˜„์žฌ์˜ ์‹œ๊ฐ„ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
        SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
        productData = sdf.format(now); // ์‹œ๊ฐ„ ์ •๋ณด ์ค‘ "yyMMdd" ํŒจํ„ด์œผ๋กœ ์‹œ๊ฐ„ ์ •๋ณด ๊ฐ€์ ธ์˜ด
        cnt++; // ์ƒ์„ฑ์ž๋Š” ๊ฐ์ฒด๊ฐ€ ๋งŒ๋“ค์–ด์งˆ ๋•Œ ํ˜ธ์ถœ ๋˜๋ฏ€๋กœ ์ƒ์„ฑ๋œ ๊ฐ์ฒด์˜ ํšŸ์ˆ˜๋ฅผ ํ™•์ธํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
        productData += cnt; // yyMMdd + ์ƒ์‚ฐ๋Œ€์ˆ˜ (ํ•œ ์„ธํŠธ๋กœ ๋งŒ๋“ฌ)

    }
    // ์ œํ’ˆ ๊ตฌ๋งค์— ๋Œ€ํ•œ ์ง„ํ–‰ ์—ฌ๋ถ€๋ฅผ ๋ฌป๋Š” ๋ฉ”๋‰ด ๋งŒ๋“ค๊ธฐ
    public boolean continueOrder() {
        Scanner sc = new Scanner(System.in);
        System.out.println("==== iPad Pro ๊ตฌ์ž…ํ•˜๊ธฐ ====");
        System.out.print("๊ตฌ์ž… ํ•˜์‹œ๋ ค๋ฉด yes / ์ข…๋ฃŒ๋Š” quit : ");
        String isContinue = sc.next();
        if(isContinue.equalsIgnoreCase("yes")) return true;
        // else๋ฅผ ๋ถ™์—ฌ์„œ false๋กœ return ํ•˜๋‚˜ ์•ˆํ•˜๋‚˜ ๋˜‘๊ฐ™์Œ
        return false;
    }
    // ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋กœ ๊ฐ’์ด ๋‚ด๋ถ€์—์„œ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์ธ์—์„  ๋ชฐ๋ผ๋„ ๋˜์–ด์„œ void)
    public void setScreen() {
        Scanner sc = new Scanner(System.in);
        while(true) {
            System.out.print("๋””์Šคํ”Œ๋ ˆ์ด ์„ ํƒ [1]11์ธ์น˜, [2]12.9์ธ์น˜ : ");
            screen = sc.nextInt();
            if(screen == 1 || screen == 2) return; // ์—ฌ๊ธฐ์„œ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๊ฐ€ ๋๋‚จ!!
            System.out.println("๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ๋‹ค์‹œ ์„ ํƒ ํ•˜์„ธ์š”.");
        }
    }
    public void setColor() {
        Scanner sc = new Scanner(System.in);
        while(true) {
            System.out.print("์ปฌ๋Ÿฌ ์„ ํƒ [1]์ŠคํŽ˜์ด์Šค ๊ทธ๋ ˆ์ด, [2]์‹ค๋ฒ„ : ");
            color = sc.nextInt();
            if(color == 1 || color == 2) return;
            System.out.println("์ƒ‰์ƒ์„ ๋‹ค์‹œ ์„ ํƒ ํ•˜์„ธ์š”.");
        }
    }
    public void setMemory() {
        Scanner sc = new Scanner(System.in);
        while(true) {
            System.out.print("์šฉ๋Ÿ‰ ์„ ํƒ [1]128GB, [2]256GB, [3]512GB, [4]1TB : ");
            memory = sc.nextInt();
            if(memory >= 1 && memory <= 4) return;
            System.out.println("์šฉ๋Ÿ‰์„ ๋‹ค์‹œ ์„ ํƒ ํ•˜์„ธ์š”.");
        }
    }
    public void setNetwork() {
        Scanner sc = new Scanner(System.in);
        while(true) {
            System.out.print("๋„คํŠธ์›Œํฌ ์„ ํƒ [1]Wi-Fi, [2]Wi-Fi+Cellular : ");
            network = sc.nextInt();
            if(network == 1 || network == 2) return;
            System.out.println("๋„คํŠธ์›Œํฌ๋ฅผ ๋‹ค์‹œ ์„ ํƒ ํ•˜์„ธ์š”.");
        }
    }
    public void setName() {
        Scanner sc = new Scanner(System.in);
        System.out.print("๊ฐ์ธ ์„œ๋น„์Šค๋ฅผ ์‹ ์ฒญํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?");
        String service = sc.next();
        if(service.equalsIgnoreCase("yes")) {
            System.out.print("์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”. : ");
            name = sc.next();
        } // ๋๋‚˜๋ฉด ์–ด์ฐจํ”ผ ๋ฉ”์†Œ๋“œ ์ข…๋ฃŒ๋˜์–ด์„œ return ์ƒ๋žต
    }
    // ์ผ๋ จ ๋ฒˆํ˜ธ ๋งŒ๋“ค๊ธฐ : iPad + 11/13 + 128/256/512/1024 + W/C + 230112 + ์ƒ์‚ฐ๋Œ“์ˆ˜
    public void setSerialNum() {
        String scrStr = (screen == 1) ? "11" : "13";
        String[] memStr = {"", "128", "256", "512", "1024"};
        String netStr = (network == 1) ? "W" : "C";
        serialNum = "iPad" + scrStr + memStr[memory] + netStr + productData;
    }
    // ์ œํ’ˆ ๊ตฌ๋งค๊ฐ€ ์™„๋ฃŒ ๋˜๋ฉด ์ถœ๊ณ ๊นŒ์ง€ 30์ดˆ ๋Œ€๊ธฐ -> ์ถœ๊ณ  ํ•˜๊ธฐ ๊ตฌํ˜„
    public void inProductPad() throws InterruptedException {
        int cnt = 0;
        while(true) {
            sleep(300);
            cnt++;
            System.out.print("<< iPad Pro ์ œ์ž‘์ค‘ : [" + cnt + "%] >>");
            System.out.print("\r"); // ์˜›๋‚  ํƒ€์ž๊ธฐ ์ฒ˜๋Ÿผ print์˜ ์ฒซ๋ฒˆ์งธ ๊ตฌ๊ฐ„์œผ๋กœ ๋Œ์•„๊ฐ
            if(cnt >= 100) break;
        }
    }
    public void productPad() {
        final String[] scrType = {"", "11์ธ์น˜", "12.9์ธ์น˜"}; // ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ํ•˜๋‹ค๋Š” ์˜๋ฏธ๋กœ final(์ƒ์ˆ˜) ์ฒ˜๋ฆฌ
        final String[] colorType = {"", "์ŠคํŽ˜์ด์Šค ๊ทธ๋ ˆ์ด", "์‹ค๋ฒ„"};
        final String[] memType = {"", "128GB", "256GB", "512GB", "1TB"};
        final String[] netType = {"", "Wi-Fi", "Wi-Fi+Cellular"};
        System.out.println("==== iPad Pro๊ฐ€ ์ถœ๊ณ  ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ====");
        System.out.println("๋””์Šคํ”Œ๋ ˆ์ด : " + scrType[screen]);
        System.out.println("   ์ƒ‰์ƒ   : " + colorType[color]);
        System.out.println("   ์šฉ๋Ÿ‰   : " + memType[memory]);
        System.out.println("  ๋„คํŠธ์›Œํฌ : " + netType[network]);
        System.out.println("   ์ด๋ฆ„   : " + name);
        System.out.println("์ผ๋ จ๋ฒˆํ˜ธ(S/N) : " + serialNum);
        System.out.println("-----------------------------------");
    }
}
profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!