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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

花了一晚上寫的7-1的作業(yè)

Card類
public?class?Card??implements?Comparable<Card>{
public?String?cardColor;
private?String?key;
private?String?value;
public?String?cardNum;
public?int?num;
public?String?getCardColor()?{
return?cardColor;
}
public?void?setCardColor(String?cardColor)?{
this.cardColor?=?cardColor;
}
public?int?getNum()?{
return?num;
}
public?void?setNum(int?num)?{
this.num?=?num;
}
public?Card()?{
}
public?Card(String?cardColor,String?cardNum,int?num)?{
this.cardColor?=cardColor;
this.cardNum?=?cardNum;
this.num?=?num;
}
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;
}
public?String?getCardNum()?{
return?cardNum;
}
public?void?setCardNum(String?cardNum)?{
this.cardNum?=?cardNum;
}
@Override
public?int?compareTo(Card?o)?{
//?TODO?Auto-generated?method?stub
return?this.num-o.num;
}
}
Player類
public?class?Player?{
public?String?ID;
public?String?name;
public?List<Card>?playerCards;
public?Player(String?ID,?String?name)?{
this.ID?=?ID;
this.name?=?name;
this.playerCards?=?new?ArrayList<Card>();
}
public?String?getID()?{
return?ID;
}
public?void?setID(String?iD)?{
ID?=?iD;
}
public?String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
public?List<Card>?getPlayerCards()?{
return?playerCards;
}
public?void?setPlayerCards(List<Card>?playerCards)?{
this.playerCards?=?playerCards;
}
}
CardGame類
import?java.util.*;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?java.util.Scanner;
public?class?CardGame?{
public?List<Card>?cardList;
public?List<Player>?playerList;
private?Scanner?input;
//Player?p1;
//Player?p2;
public?CardGame()?{
this.cardList?=?new?ArrayList<Card>();
this.playerList?=new?ArrayList<Player>();
this.input?=?new?Scanner(System.in);
}
/**
*?第一、要?jiǎng)?chuàng)建一副不包括大小王的撲克牌
*?@param?args
*/
public?void?Cards()?{
//創(chuàng)建撲克牌
System.out.println("--------------創(chuàng)建撲克牌—-----------------");
//用兩個(gè)數(shù)組來存放撲克的花色和數(shù)值
String[]?CardColor?=?new?String[]?{"黑桃","梅花","紅桃","方塊"};
String[]?CardNum?=?new?String[]?{"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
//利用for循環(huán)取出撲克的花色和數(shù)值并且存放到CardList中
for(int?i?=0;i<4;i++)?{
for(int?j=0;j<13;j++)?{
cardList.add(new?Card(CardColor[i],CardNum[j],j*10+i));
}
}
//遍歷打印撲克牌
System.out.println("--------------創(chuàng)建撲克牌成功—-----------------");
System.out.println("撲克牌為:");
for?(Card?card?:?cardList)?{
System.out.print(card.cardColor?+?card.cardNum?+",");
}
System.out.println("共有52張牌");
//利用四個(gè)for循環(huán)來獲取黑桃梅花紅桃方塊的對(duì)象,代碼繁瑣
//for(Integer?i=2;i<11;i++)?{
//Card?cd?=?new?Card("黑桃",i.toString());
//cardList.add(cd);
//}
//Card?cd1?=?new?Card("黑桃","A");
//cardList.add(cd1);
//Card?cd2?=?new?Card("黑桃","J");
//cardList.add(cd2);
//Card?cd3?=?new?Card("黑桃","Q");
//cardList.add(cd3);
//Card?cd4?=?new?Card("黑桃","K");
//cardList.add(cd4);
}
/**
*?利用collections.shuffle方法來打亂List中撲克牌順序
*?@param?args
*/
public?void?washCard()?{
System.out.println("--------------開始洗牌—-----------------");
Collections.shuffle(cardList);
System.out.println("--------------結(jié)束洗牌—-----------------");
}
/**
*?創(chuàng)建玩家
*?@param?args
*/
public?void?players()?{
int?i=0;
for(;i<2;i++)?{
try?{
System.out.println("請(qǐng)輸入第"?+?(i+1)?+"位玩家的ID:");
String?ID=?input.next();
//提示輸入玩家姓名
System.out.println("請(qǐng)輸入第"?+?(i+1)?+"位玩家的姓名:");
String?name?=input.next();
//創(chuàng)建新的玩家對(duì)象
Player?newPlayer?=?new?Player(ID,name);
playerList.add(newPlayer);
}catch(InputMismatchException?e)?{
System.out.println("請(qǐng)輸入正確的整數(shù)類型:");
}
}
}
/**
*?隨機(jī)發(fā)牌
*?@param?args
*/
public?void?launchCard()?{
//隨機(jī)給玩家發(fā)兩張牌
System.out.println("--------------開始發(fā)牌—-----------------");
Random?random?=?new?Random();
int?cardSize?=?cardList.size();
Card?card?=?new?Card();
for(int?i=0;i<2;i++)?{
for?(Player?player?:?playerList)?{
card?=cardList.get(random.nextInt(cardSize));
System.out.println("----玩家:"+?player.ID?+?":"?+?player.name?+"拿牌------");
player.playerCards.add(card);
cardSize--;
}
}
//p1.playerCards.add(cardList.get(0));
//System.out.println("----玩家:"+p1.name+"-拿牌------");
//p2.playerCards.add(cardList.get(1));
//System.out.println("----玩家:"+p2.name+"-拿牌------");
//p1.playerCards.add(cardList.get(2));
//System.out.println("----玩家:"+p1.name+"-拿牌------");
//p2.playerCards.add(cardList.get(3));
//System.out.println("----玩家:"+p2.name+"-拿牌------");
//Set<String>?keySet?=?playerList.keySet();
//int?i?=?0;?
//int?j?=?0;?
//while?(j?<?2)?{
//for?(String?id?:?keySet)?{?
//playerList.get(id).getPlayerCards().add(cardList.get(i));
//System.out.println("----玩家:"?+?playerList.get(id).getName()?+?"-拿牌");
//
//}
//j++;?
//}
System.out.println("--------------發(fā)牌結(jié)束—-----------------");
}
/**
*?開始游戲
*?@param?args
*/
public?void?startGame()?{
System.out.println("--------------游戲開始—-----------------");
ArrayList<Card>?maxCard?=?new?ArrayList();//創(chuàng)建兩玩家最大牌的集合
for?(Player?player?:?playerList?)?{
//利用Collections.sort進(jìn)行排序
Collections.sort(player.getPlayerCards());
System.out.println(player.getName()+"最大的牌為:"?+?player.getPlayerCards().get(1).cardColor?
+player.getPlayerCards().get(1).cardNum);
//輸出玩家各自的手牌
System.out.println(player.getName()+"的牌為:"?+?player.getPlayerCards().get(0).cardColor?
+player.getPlayerCards().get(0).cardNum?+","?+?player.getPlayerCards().get(1).cardColor?
+player.getPlayerCards().get(1).cardNum);
//將最大的牌存儲(chǔ)
maxCard.add(player.getPlayerCards().get(1));
}
//兩玩家最大的牌進(jìn)行比較
Collections.sort(maxCard);
for?(Player?player?:?playerList)?{
if(player.getPlayerCards().contains(maxCard.get(1)))?{
System.out.println("恭喜玩家"+player.getName()+"獲勝");
}
}
}
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
CardGame?cg?=?new?CardGame();
cg.Cards();
cg.washCard();
cg.players();
cg.launchCard();
cg.startGame();
}
}

https://img1.sycdn.imooc.com//5c7e8d8e0001ed7a08960607.jpg


創(chuàng)建玩家輸入Id和姓名,我寫了異常卻不執(zhí)行,不知道是什么問題???還是我寫錯(cuò)了???

正在回答

1 回答

你并沒有在catch中寫出返回循環(huán)效果,那肯定不會(huì)返回呀。

在catch中做到循環(huán)效果就得在其使用try-catch語句外執(zhí)行一次強(qiáng)制循環(huán),因?yàn)閏ontinue返回效果只能用于循環(huán)體中,所以你可以測試在try-catch語句外面加 while(true){ ....}強(qiáng)制循環(huán),然后再在catch中最后加入continue語句。

值得注意的是這樣做雖然可以起到返回作用,但是Scanner輸入的值并不會(huì)刷新,所以就會(huì)出現(xiàn)無限死循環(huán)。

所以應(yīng)該在其continue語句前重新刷新Scanner,也就是加入console=new Scanner(System.in);


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Zssaer1

還有一個(gè)我認(rèn)為原理的錯(cuò)誤:發(fā)牌時(shí)就相當(dāng)與從中抽出一張牌,接下來就抽不到了。然而你這種發(fā)牌方法就有可能會(huì)重復(fù)抽到同一張牌,所以我認(rèn)為應(yīng)該在每一次發(fā)牌就從牌堆中刪除抽到的牌。
2019-03-09 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

花了一晚上寫的7-1的作業(yè)

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)