728x90

[문제]

식사 다 마친 테이블을 조회하는 프로그래 만들기

 

[조건]

- 테이블은 총 10개 
- 식사를 다마친 테이블을 출력하기     
- 3개의 테이블이 식사를 다 마치면 치워주기 

- 10개의 테이블이 식사를 마치면 영업 종료 

 

[차근 차근 생각해보기]

  1. 다양한 코드 구현을 해보기 위해 람다식 사용해보기
  2. Runnable을 사용하여 테이블  식사 다 마친 테이블 찾아보기
  3. 조건문을 사용하여 3개의 테이블이 식사를 마치면 치워주는 문구 출력
  4. 모든 테이블이 식사를 마치면 마지막 테이블까지 치운 후 영업 종료  

 

[코드]

public static void main(String[] args) {
    Runnable table = () -> {
        System.out.println("DDONY의 식당 운영 시작");
        System.out.println("----------------------");
        for (int i = 1; i <= 10; i++) {
            System.out.println(i + "번 째 테이블 식사 완료");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            if(i%3 == 0){
                System.out.println("====================");
                System.out.println("3개의 테이블 치우기 완료");
                System.out.println("====================");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            }
        }
        System.out.println("==== 오늘 영업은 종료 되었습니다. ====");
    };

    Thread thread = new Thread(table);
    thread.start();

}

 

<실행 결과>

 

[반성할 점]

아직 스레드에 대한 이해도가 많이 부족하다.

그래도 써봤다는 것에 의의를 두었고 배웠던 람다식도 최대한 활용해보려고 노력하였다.

다양한 방법을 사용하여 간단한 다양한 프로그램을 만드려고 노력해봐야겠다.   

728x90

'Java' 카테고리의 다른 글

멀티스레드(Synchronized Thread)  (0) 2023.06.15
스레드(Thread)  (0) 2023.06.15
파스타 집 대기 알림 프로그램 만들기  (0) 2023.06.14
예외처리(try-catch)  (0) 2023.06.14
박물관 입장료 프로그램  (0) 2023.06.13

+ Recent posts