扑克牌排序_JAVA 扑克牌排序打印,并进行洗牌
生活随笔
收集整理的這篇文章主要介紹了
扑克牌排序_JAVA 扑克牌排序打印,并进行洗牌
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
點擊上方藍字關注我們
一、Puke類:
首先定義撲克牌的參數
?定義字符串型的花色(color),點數(points)兩個有關于撲克牌的參數,且用private關鍵字進行修飾,被private修飾的后的成員只能在本類中被訪問,并且需要提供對應的set,get方法,以提高數據的安全性。
public class Puke { private String color; private String points; ??public?Puke(){????} public Puke(String color,String points){ this.color=color; this.points=points;??} public String getColor() { return color;??} public void setColor(String color) { this.color = color;??} public String getPoints() { return points;??} public void setPoints(String points) { this.points = points;??equals方法:撲克牌中沒有花色,點數完全相同的兩張撲克牌,為避免重復多余,通過花色和點數兩個特征值來判斷兩張撲克牌是否“等價”,當這兩張撲克牌等價時,判斷結果為false,否則結果為true。運用toString方法確定最后打印出來的格式為花色+點數(如:黑桃A)public boolean equals(Object obj){ Puke p = (Puke) obj; if(this == obj){ return true; } if(obj == null){ return false; } if(obj instanceof Puke){ return this.color.equals(p.getColor())&&this.points.equals(p.getPoints()); } return false;??} public String toString(){ return color+points;??}二、Test類:
為了使得結果清晰明了,方便閱讀,我們對最后打印出來的格式進行規定,插入一個show()方法。按照撲克牌的數量,每十三張就進行一次換行,要注意這里是list數組,數組的長度需要用list.size()來表示。public class TestPuke { public static void show(ArrayList list) { for(int i=0;i System.out.print(list.get(i)+" "); if((i+1)%13 == 0){ System.out.print("\n"); } }??}main方法 里首先定義一個list數組,存儲最后花色+點數格式的撲克牌,類型要保證一致。為了不造成混亂,方便存儲將花色和點數兩個參數分開存在兩個String數組當中。插入兩層for循環將花色點數兩個數組依次添入list數組當中,因為大小王的格式特殊,在此跳出循環單獨添加進入數組當中。最后調用show方法對數組進行打印。(為了方便測試,我們將黑桃設為最大進行測試)public static void main(String[] args) { ArrayListlist = new ArrayList(); String [] color = {"黑桃","梅花","方片","紅桃"}; String [] points = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; for (int i = 0; i < color.length; i++) { for (int j = 0; j < points.length; j++) { list.add(new Puke(color[i], points[j])); } } list.add(new Puke("紅","大王")); list.add(new Puke("黑","小王"));????show(list);執行如上代碼打印結果如下:
若要進行隨機打亂的洗牌操作則導入java.util.Collections接口,調用Collections.shuffle()方法進行隨機排序打亂。Collections.shuffle(list); System.out.println("\n洗牌后:"); show(list); }}? ? 洗牌結果如下:
自此,洗牌完成。
原文:CSDN博主「森光等嶼」
原文鏈接:https://blog.csdn.net/weixin_43634775/article/details/97399536
歡迎關注“Java引導者”,我們分享最有價值的Java的干貨文章,助力您成為有思想的Java開發工程師!
總結
以上是生活随笔為你收集整理的扑克牌排序_JAVA 扑克牌排序打印,并进行洗牌的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 寻找一部美国电影的名字
- 下一篇: 模拟器不全屏_iOS 14实测GBA游戏