酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

java做发牌的功能改用面向对象编程方式改写,实现功能如下:0.初始化牌1.显示牌码2、洗牌3、发牌4、退出~ ~ ~请输入对应的数字选择相应的业务:0.初始化牌 1、显示牌码2、洗牌3、发牌4、退出~ ~请输入对应的数字选择相应的业务:请输入发牌数:方块j黑桃7梅花5红桃q请输入发牌数:5梅花3红桃4方块a梅花a梅花2日、初始化牌1、显示牌码2、洗牌3、发牌4、退出~ ~ * * * * * * * *水* * * *水水请输入对应的数字选择相应的业务:3请输入发牌数:输入错误,再见~ ~ ~

以下是使用面向对象编程方式改写的Java代码: ```java import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; class Card { private String suit; private String rank; public Card(String suit, String rank) { this.suit = suit; this.rank = rank; } public String getSuit() { return suit; } public String getRank() { return rank; } public String toString() { return suit + rank; } } class Deck { private List<Card> cards; public Deck() { initialize(); } private void initialize() { 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) { Card card = new Card(suit, rank); cards.add(card); } } } public void shuffle() { Collections.shuffle(cards); } public List<Card> deal(int num) { if (num > cards.size()) { throw new IllegalArgumentException("发牌数超过牌堆大小"); } List<Card> dealtCards = new ArrayList<>(); for (int i = ; i < num; i++) { dealtCards.add(cards.remove(0)); } return dealtCards; } public void display() { for (Card card : cards) { System.out.println(card); } } } public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Deck deck = new Deck(); while (true) { System.out.println("请输入对应的数字选择相应的业务:"); System.out.println("0.初始化牌"); System.out.println("1.显示牌码"); System.out.println("2.洗牌"); System.out.println("3.发牌"); System.out.println("4.退出"); int choice = scanner.nextInt(); switch (choice) { case 0: deck = new Deck(); System.out.println("牌初始化完成"); break; case 1: deck.display(); break; case 2: deck.shuffle(); System.out.println("洗牌完成"); break; case 3: System.out.println("请输入发牌数:"); int num = scanner.nextInt(); try { List<Card> dealtCards = deck.deal(num); for (Card card : dealtCards) { System.out.print(card + " "); } System.out.println(); } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); } break; case 4: System.out.println("再见~ ~ ~"); return; default: System.out.println("输入错误,请重新输入"); break; } } } } ``` 运行以上代码,可以实现发牌的功能,并且使用面向对象编程方式进行了改写。 [2024-03-24 21:27:14 | AI写代码神器 | 3211点数解答]

相关提问