This big problem is not suitable for breakdown because all the breakdowns have already been included in the problem statement. Students do not need to use any strategies to design their own solutions to the problem, and they just need to fill in some details.
Therefore, I only included part of a subproblem - restarting the game - here to illustrate the idea as is shown in other two sample problems: what is the effective approach to design solutions to the problem by using top-down strategies, assuming students were not given the breakdown information in the statement.
/*-------------Class BlackJack---------------*/ public class BlackJack { public void restart() { // Step 1 dealer.returnCardstoDeck(deck); player.returnCardstoDeck(deck); // Step 2 deck.shuffle(); /*---Code for step 3 Omitted---*/ } }