Practice · 1 of 3
Order status state machine
Inside Solution, write enum OrderStatus { PENDING, PAID, SHIPPED, CANCELLED } and static boolean canCancel(OrderStatus s) returning true only for PENDING and PAID. Also static OrderStatus next(OrderStatus s): PENDING→PAID, PAID→SHIPPED, and for SHIPPED/CANCELLED the state stays itself (terminal).
Difficulty: beginner
Press Submit to check your solution.
Back to lesson: Practice: Practice: Modeling Data