Pai类代码如下:

import java.util.ArrayList; import java.util.Collections; import java.util.List;

public class Pai { private int price; private String cl; private List pks;

public Pai(int price, String cl, List<Puke> pks) {
    this.price = price;
    this.cl = cl;
    this.pks = pks;
}

public int getPrice() {
    return price;
}

public void setPrice(int price) {
    this.price = price;
}

public String getCl() {
    return cl;
}

public void setCl(String cl) {
    this.cl = cl;
}

public List<Puke> getPks() {
    return pks;
}

public void setPks(List<Puke> pks) {
    this.pks = pks;
}

// 比较价格
public int comparePriceTo(Pai otherPai) {
    return this.price - otherPai.getPrice();
}

// 判断是否是一副完整的牌
public boolean isAll() {
    if (pks.size() != 52) {
        return false;
    }
    for (int i = 0; i < pks.size(); i++) {
        Puke puke = pks.get(i);
        if (puke.getNum() < 1 || puke.getNum() > 13) {
            return false;
        }
        if (!"黑桃".equals(puke.getHuaSe()) && !"红桃".equals(puke.getHuaSe())
                && !"方块".equals(puke.getHuaSe()) && !"梅花".equals(puke.getHuaSe())) {
            return false;
        }
    }
    return true;
}

// 创建一副完整的牌
public void createAllPuke() {
    pks = new ArrayList<>();
    for (int i = 1; i <= 13; i++) {
        pks.add(new Puke("黑桃", i));
        pks.add(new Puke("红桃", i));
        pks.add(new Puke("方块", i));
        pks.add(new Puke("梅花", i));
    }
}

// 随机抽出三张扑克
public List<Puke> random3() {
    List<Puke> randomPukes = new ArrayList<>();
    Collections.shuffle(pks);
    for (int i = 0; i < 3; i++) {
        randomPukes.add(pks.get(i));
    }
    return randomPukes;
}

// 获取所有红桃
public List<Puke> getHongtaos() {
    List<Puke> hongtaos = new ArrayList<>();
    for (Puke puke : pks) {
        if ("红桃".equals(puke.getHuaSe())) {
            hongtaos.add(puke);
        }
    }
    return hongtaos;
}

// 将牌中的扑克顺序打乱
public void shuffle() {
    Collections.shuffle(pks);
}

// 获取当前Pai中所有牌面大小是num的Puke
public List<Puke> getPukesByNum(int num) {
    List<Puke> pukes = new ArrayList<>();
    for (Puke puke : pks) {
        if (puke.getNum() == num) {
            pukes.add(puke);
        }
    }
    return pukes;
}

// 将当前Pai中的Puke按照牌面大小排序
public void sortByNum() {
    Collections.sort(pks);
}

}

测试类代码如下:

import java.util.List;

public class TestPai { public static void main(String[] args) { // 创建一幅牌 Pai pai = new Pai(100, "木头", null); pai.createAllPuke(); System.out.println("是否是一副完整的牌:" + pai.isAll());

    // 比较价格
    Pai otherPai = new Pai(50, "塑料", null);
    int diff = pai.comparePriceTo(otherPai);
    System.out.println("两幅牌价格差:" + diff);

    // 随机抽出三张扑克
    List<Puke> randomPukes = pai.random3();
    System.out.println("随机抽出的三张扑克:");
    for (Puke puke : randomPukes) {
        System.out.println(puke);
    }

    // 获取所有红桃
    List<Puke> hongtaos = pai.getHongtaos();
    System.out.println("当前牌中所有红桃:");
    for (Puke puke : hongtaos) {
        System.out.println(puke);
    }

    // 将牌中的扑克顺序打乱
    pai.shuffle();
    System.out.println("打乱后的牌:");
    for (Puke puke : pai.getPks()) {
        System.out.println(puke);
    }

    // 获取当前Pai中所有牌面大小是num的Puke
    int num = 8;
    List<Puke> pukesByNum = pai.getPukesByNum(num);
    System.out.println("当前牌中所有牌面大小是" + num + "的Puke:");
    for (Puke puke : pukesByNum) {
        System.out.println(puke);
    }

    // 将当前Pai中的Puke按照牌面大小排序
    pai.sortByNum();
    System.out.println("按照牌面大小排序后的牌:");
    for (Puke puke : pai.getPks()) {
        System.out.println(puke);
    }
}
java:作业一创建一Pai类包含属性 价格 int price 材料 String cl 包含52张扑克的集合 ListPuke pks ;1 定义方法 comparePriceTo可以与其他另一副牌比较价格返回差价2 定义方法 isAll 返回这幅牌是否是一副完整的牌52张每张牌都是正确的3 定义方法createAllPuke创建一副完整的牌52张4 定义方法random3从一幅扑克牌中随机抽

原文地址: https://www.cveoy.top/t/topic/fxh4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录