Here's one I randomly found on the internet:
All you gotta do is make a 2D array, populate it with the right values (enum?), and alter your play(Card upCard) method to use the lookup table.
That solves your complexity issue, your implicit data storage (you're trying to algorithmically map the values of 3 variables (card 1, card 2, dealer up card) to a lot of different values), and it should be a speedup too. Plus, what are blackjack explanations doing in your code?
Note that you might have to split your lookup table in three sections: One for the doubles, one for the case where you have an ace, and one for the last case, where you need to use the total of your hand.
That said, looking at your code, there's some things that could also look a bit differently:
getHand.get(0).getName.equals("Ace") | getHand.get(1).getName.equals("Ace")
Seems like this could get wrapped into a method called containsCard(String name). I'm worried about a single pipe though - Isn't it ||?
getHand.get(0).getName.equals("Ace") & getHand.get(1).getName.equals("Ace")
Same thing here: this could be boolean hasPair. Also, isn't it &&?
getHand.get(0).getName.equals("Two") | getHand.get(1).getName.equals("Two") & upCard.getValue >= 5 & upCard.getValue
Extreme Snap is an more complex version of the popular children's card game Snap. Extreme snap is very quick to play, with rounds typically lasting less than 5 minutes, although then can occasionally last much longer, especially when players are of roughly equal ability. Technically the minumum number of players is 2, but 4 players is the...
Wellcoda | Ace Heart Hustler USA Womens NEW Casino Fun Black Hoodie 2XL
Slots Sunproof Hustler Flood
Mobile Application (Paradise Cash Treasure)
Help with JAVA blackjack game? | Yahoo Answers
Assuming game play is set up in a method, just return from the method... You can then handle what happens next however you'd like, including reentering the method to play another "hand".