酷代码 AI
菜单
服务商

Java面向对象改写发牌功能:含初始化、显示、洗牌、发牌全流程实现

以下是一个可能的Java面向对象编程实现: ```java import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class CardGame { private List<String> cards; public CardGame() { initializeCards(); } private void initializeCards() { cards = new ArrayList<>(); String[] suits = {"黑桃", "红桃", "方块", "梅花"}; String[] ranks = {"a", "2", "3", "4", "5", "6", "7", "8", "9", "10", "j", "q", "k"}; for (String suit : suits) { for (String rank : ranks) { cards.add(suit + rank); } } } public void displayCards() { for (String card : cards) { System.out.println(card); } } public void shuffleCards() { Collections.shuffle(cards); } public void dealCards(int num) { if (num > cards.size()) { System.out.println("牌不够发牌数"); return; } for (int i = 0; i < num; i++) { System.out.println(cards.remove(0)); } } public static void main(String[] args) { CardGame game = new CardGame(); Scanner scanner = new Scanner(System.in); while (true) { System.out.println("1、初始化牌\n2、显示牌码\n3、洗牌\n4、发牌\n5、退出"); System.out.println("请输入对应的数字选择相应的业务:"); int choice = scanner.nextInt(); switch (choice) { case 1: game.initializeCards(); break; case 2: game.displayCards(); break; case 3: game.shuffleCards(); break; case 4: System.out.println("请输入发牌数:"); int num = scanner.nextInt(); game.dealCards(num); break; case 5: System.out.println("再见~ ~ ~"); return; default: System.out.println("输入错误,请重新输入"); break; } } } } ``` 此代码只为示例目的,并未包含完善的输入验证和异常处理。您可以根据实际需求进行修改和改进。 ######[AI写代码神器 | 2187点数解答 | 2024-03-24 21:25:07]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]