第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

作業(yè)提交!請大佬指出優(yōu)化之處


public class Test {

private List<PuKe> pukes? ?= new ArrayList();

private List<Player> plays = new ArrayList();

private Random? ? ?random? = new Random();

private Scanner? ? scanner = new Scanner(System.in);

public static void main(String[] args) {

// TODO Auto-generated method stub

Test test = new Test();

test.createPuKe();

test.shuffleCards();

test.createPlay();

test.Licensing();

}

//創(chuàng)建撲克

private void createPuKe() {

System.out.println("-----------創(chuàng)建撲克。。。。 -----------");

String[] key = {"?","?","?","?"};

String[] value = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};

for (int i = 0; i < key.length; i++) {

for (int j = 0; j < value.length; j++) {

pukes.add(new PuKe(key[i],value[j]));

}

}

System.out.println("------------創(chuàng)建撲克成功------------");

System.out.println("為"+Arrays.toString(pukes.toArray(new PuKe[pukes.size()])));

}

//洗牌?

private void shuffleCards() {

System.out.println("-----------開始洗牌。。。。-----------");

for (int i = 0; i < 5; i++) {//洗牌五次

for (int j = 0; j < 52; j++) {

int endIndex = random.nextInt(52 - j) + j;//隨機交換位置的角標

PuKe start? ?= pukes.get(j);

PuKe end? ? ?= pukes.get(endIndex);

//兩者交換位置

pukes.set(j,end);

pukes.set(endIndex,start);

}

}

System.out.println("--------------洗牌結束-------------");

System.out.println("-------------洗牌后順序------------");

System.out.println("為"+Arrays.toString(pukes.toArray(new PuKe[pukes.size()])));

}

//創(chuàng)建玩家

private void createPlay() {

System.out.println("-------------創(chuàng)建玩家 -------------");

for (int i = 0; i < 2; i++) {//循環(huán)創(chuàng)建兩位玩家

Player player = new Player();

System.out.println("請輸入第"+(i+1)+"位玩家的ID和姓名:");

System.out.println("輸入ID:");

player.setId(scanner.next());

System.out.println("輸入姓名:");

player.setName(scanner.next());

plays.add(player);

}

for (Player player : plays) {

System.out.println("-----歡迎玩家:"+player.getName());

}

}

//發(fā)牌并比較大小

private void Licensing() {

System.out.println("-----------開始發(fā)牌。。。。-----------");

int pukeSize = pukes.size();

for (int i = 0; i < 2; i++) {//發(fā)牌為兩輪

for (Player player : plays) {//每輪每家一張牌

System.out.println("-----玩家:"+player.getName()+"--拿牌");

PuKe puke = pukes.get(random.nextInt(pukeSize));

player.setPuKe(puke);

pukes.remove(puke);

pukeSize--;//發(fā)完一張牌就少一張

}

}

System.out.println("--------------發(fā)牌結束-------------");

System.out.println("玩家各自的手牌為:");

ArrayList<PuKe> maxPuKe = new ArrayList();//創(chuàng)建兩玩家最大牌的集合

for (Player player : plays) {

System.out.println(player.getName()+":"+Arrays.toString(player.getPlayPuKeList().toArray(new PuKe[player.getPlayPuKeList().size()])));

//排序

Collections.sort(player.getPlayPuKeList());

//排序之后打印

// System.out.println(player.getName()+":"+Arrays.toString(player.getPlayPuKeList().toArray(new PuKe[player.getPlayPuKeList().size()])));

//將最大的牌存儲

maxPuKe.add(player.getPlayPuKeList().get(1));

}

//兩玩家的大牌間的比較

Collections.sort(maxPuKe);

for (Player player : plays) {

if(player.getPlayPuKeList().contains(maxPuKe.get(1))) {

System.out.println("玩家"+player.getName()+"獲勝");

}

}

}

}



public class Player {

private String name;

private String id;

private List<PuKe> playPuKe = new ArrayList<>();

public void setPuKe(PuKe pk) {

playPuKe.add(pk);

}

public List<PuKe> getPlayPuKeList(){

return playPuKe;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

}


public class PuKe implements Comparable<PuKe>{

private String key;

private String value;

String[] KEY = {"?","?","?","?"};

String[] VALUE = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};

public PuKe() {

super();

}


public PuKe(String key, String value) {

super();

this.key = key;

this.value = value;

}

public String getKey() {

return key;

}

public void setKey(String key) {

this.key = key;

}

public String getValue() {

return value;

}

public void setValue(String value) {

this.value = value;

}


@Override

public String toString() {

return key+value;

}


@Override

public int compareTo(PuKe o) {

List<String> keys = Arrays.asList(KEY);

List<String> values = Arrays.asList(VALUE);

if(values.indexOf(this.value) == values.indexOf(o.getValue())) {//value相等就需要判斷key

if(keys.indexOf(this.key) == keys.indexOf(o.getKey())) {

return 0;

}else {

return keys.indexOf(this.key) - keys.indexOf(o.getKey());

}

}else {

return values.indexOf(this.value) - values.indexOf(o.getValue());

}

}

}


正在回答

1 回答

ArrayList后面你好像忘了寫泛型了......

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

作業(yè)提交!請大佬指出優(yōu)化之處

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號