日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

扑克牌排序_JAVA 扑克牌排序打印,并进行洗牌

發布時間:2023/11/27 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 扑克牌排序_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 扑克牌排序打印,并进行洗牌的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。