코드 그라데이션

후발대 22일차 Quiz 본문

Java/후발대

후발대 22일차 Quiz

완벽한 장면 2023. 3. 7. 23:54

상품 A와 상품 B로 이루어진 세트 상품을 효율적으로 포장하는 프로그램을 작성하시오. (파일명: Prac20. java)

 

조건

  • 상품 A와 상품 B는 각각 5개씩 준비
  • 상품 A와 상품 B가 모두 준비된 이후 세트 상품 포장 시작
  • 포장이 필요한 세트 상품은 총 5개 
  • 모든 클래스는 하나의 파일에 정의

조건

실행 결과

 

 

정답 코드

package com.sparta.hbd04.prac01.prac20;

// A 상품 준비 1/5
// B 상품 준비 2/5
//      ...
// -- A 상품 준비 완료 --
// -- B 상품 준비 완료 --
// == 세트 상품 포장 시작 ==
// 세트 상품 포장 1/5
//      ...
// == 세트 상품 포장 완료 ==

public class Prac20 {
    public static void main(String[] args) {
        Runnable runnableA = () -> {
            for (int i = 1; i <=5 ; i++) {
                System.out.println("A 상품 준비 " + i + "/5");
            };
            System.out.println(" -- A 상품 준비 완료 -- ");
        };

        Runnable runnableB = () -> {
            for (int i = 1; i <=5 ; i++) {
                System.out.println("B 상품 준비 " + i + "/5");
            };
            System.out.println(" -- B 상품 준비 완료 -- ");
        };

        Thread threadA = new Thread(runnableA);
        Thread threadB = new Thread(runnableB);

        threadA.start();
        threadB.start();

				while (threadA.isAlive() || threadB.isAlive()) {
				   }

//        try {
//            threadA.join();
//            threadB.join();
//        } catch (InterruptedException e) {
//            throw new RuntimeException(e);
//        }

       
        Runnable runnableSet = () -> {
            System.out.println("== 세트 상품 포장 시작 ==");
            for (int i = 1; i <=5 ; i++) {
                System.out.println("세트 상품 포장 " + i + "/5");
            };
            System.out.println("== 세트 상품 포장 완료 == ");
        };
        Thread threadSet = new Thread(runnableSet);
        threadSet.start();
    }
}

 

728x90
Comments