From 206c73e8acb64922d8b7c8ff303ab67c8624e0db Mon Sep 17 00:00:00 2001 From: NCJOAQ <2627723488@qq.com> Date: Mon, 7 Jul 2025 02:12:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(class14):=20=E7=9C=9F=E7=9A=84=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E5=86=8D....=E5=AD=A6=E4=BA=86.....?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 ArrayTest4 类,包含 main 方法作为程序入口 - 实现 start 方法,创建并初始化一副扑克牌数组 - 实现 shufflePokers 方法,使用 Fisher-Yates 算法对扑克牌进行洗牌 - 在 main 方法中调用 start 和 shufflePokers 方法,展示洗牌前后的扑克牌数组 --- src/class14/ArrayTest4.java | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/class14/ArrayTest4.java diff --git a/src/class14/ArrayTest4.java b/src/class14/ArrayTest4.java new file mode 100644 index 0000000..3cba58f --- /dev/null +++ b/src/class14/ArrayTest4.java @@ -0,0 +1,40 @@ +package class14; + +import java.util.Arrays; + +// ... existing code ... +public class ArrayTest4 { + public static void main(String[] args) { + String[] pokers = start(); + String[] shuffledPokers = shufflePokers(pokers); + System.out.println(Arrays.toString(shuffledPokers)); + } + + public static String[] start() { // 创建一个数组,用来模拟一个扑克牌 + String[] pokers = new String[54]; + String[] colors = {"♠", "♥", "♣", "♦"}; + String[] numbers = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"}; + int i = 0; + for (String number : numbers) { + for (String color : colors) { + pokers[i] = color + number; + i++; + } + } + pokers[i] = "小王"; + pokers[i + 1] = "大王"; + System.out.println(Arrays.toString(pokers)); + return pokers; + } + + public static String[] shufflePokers(String[] pokers) { + // 使用 Fisher-Yates 洗牌算法 + for (int i = pokers.length - 1; i > 0; i--) { + int index = (int) (Math.random() * (i + 1)); + String temp = pokers[i]; + pokers[i] = pokers[index]; + pokers[index] = temp; + } + return pokers; + } +}