[문제]
식사 다 마친 테이블을 조회하는 프로그래 만들기
[조건]
- 테이블은 총 10개
- 식사를 다마친 테이블을 출력하기
- 3개의 테이블이 식사를 다 마치면 치워주기
- 10개의 테이블이 식사를 마치면 영업 종료
[차근 차근 생각해보기]
- 다양한 코드 구현을 해보기 위해 람다식 사용해보기
- Runnable을 사용하여 테이블 식사 다 마친 테이블 찾아보기
- 조건문을 사용하여 3개의 테이블이 식사를 마치면 치워주는 문구 출력
- 모든 테이블이 식사를 마치면 마지막 테이블까지 치운 후 영업 종료
[코드]
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();
}
<실행 결과>
[반성할 점]
아직 스레드에 대한 이해도가 많이 부족하다.
그래도 써봤다는 것에 의의를 두었고 배웠던 람다식도 최대한 활용해보려고 노력하였다.
다양한 방법을 사용하여 간단한 다양한 프로그램을 만드려고 노력해봐야겠다.
'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 |