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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發(fā)布時間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 扑克牌排序_JAVA 扑克牌排序打印,并进行洗牌 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

點(diǎn)擊上方藍(lán)字關(guān)注我們

一、Puke類:

首先定義撲克牌的參數(shù)

?定義字符串型的花色(color),點(diǎn)數(shù)(points)兩個有關(guān)于撲克牌的參數(shù),且用private關(guān)鍵字進(jìn)行修飾,被private修飾的后的成員只能在本類中被訪問,并且需要提供對應(yīng)的set,get方法,以提高數(shù)據(jù)的安全性

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方法:撲克牌中沒有花色,點(diǎn)數(shù)完全相同的兩張撲克牌,為避免重復(fù)多余,通過花色和點(diǎn)數(shù)兩個特征值來判斷兩張撲克牌是否“等價”,當(dāng)這兩張撲克牌等價時,判斷結(jié)果為false,否則結(jié)果為true。運(yùn)用toString方法確定最后打印出來的格式為花色+點(diǎn)數(shù)(如:黑桃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類:

為了使得結(jié)果清晰明了,方便閱讀,我們對最后打印出來的格式進(jìn)行規(guī)定,插入一個show()方法。按照撲克牌的數(shù)量,每十三張就進(jìn)行一次換行,要注意這里是list數(shù)組,數(shù)組的長度需要用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數(shù)組,存儲最后花色+點(diǎn)數(shù)格式的撲克牌,類型要保證一致。為了不造成混亂,方便存儲將花色和點(diǎn)數(shù)兩個參數(shù)分開存在兩個String數(shù)組當(dāng)中。插入兩層for循環(huán)將花色點(diǎn)數(shù)兩個數(shù)組依次添入list數(shù)組當(dāng)中,因為大小王的格式特殊,在此跳出循環(huán)單獨(dú)添加進(jìn)入數(shù)組當(dāng)中。最后調(diào)用show方法對數(shù)組進(jìn)行打印。(為了方便測試,我們將黑桃設(shè)為最大進(jìn)行測試)
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);

執(zhí)行如上代碼打印結(jié)果如下:

若要進(jìn)行隨機(jī)打亂的洗牌操作則導(dǎo)入java.util.Collections接口,調(diào)用Collections.shuffle()方法進(jìn)行隨機(jī)排序打亂。
Collections.shuffle(list);    System.out.println("\n洗牌后:");    show(list);  }}

? ? 洗牌結(jié)果如下:

自此,洗牌完成。

原文:CSDN博主「森光等嶼」

原文鏈接:https://blog.csdn.net/weixin_43634775/article/details/97399536

歡迎關(guān)注“Java引導(dǎo)者”,我們分享最有價值的Java的干貨文章,助力您成為有思想的Java開發(fā)工程師!

總結(jié)

以上是生活随笔為你收集整理的扑克牌排序_JAVA 扑克牌排序打印,并进行洗牌的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。