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

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

幫忙看看怎么優(yōu)化

結(jié)構(gòu)布局怎樣修改優(yōu)化,還有倆人比較的地方感覺寫的好繁瑣,自己都快繞進(jìn)去了?哎??
*********************************************************************************************
Card?類
package?gamecard;

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

public?class?Card?implements?Comparable<Card>{
????/**
?????*?無參和有參構(gòu)造器
?????*/
????public?Card()?{
????????
????}
????public?Card(String?color,?String?value)?{
????????this.color?=?color;
????????this.value?=?value;
????}
????
????//static?vocabulary
????public?final?int?cardSum?=?13;
????public?final?int?colorSum?=?4;
????public?final?String[]?colors?=?{?"紅桃",?"黑桃",?"方塊",?"梅花",?"大"?};
????public?final?String[]?values?=?{?"2",?"3",?"4",?"5",?"6",?"7",?"8",?"9",?"10",?"J",?"Q",?"K",?"A",?"王"?};
????public?String?VVV?=?"2345678910JQKA王?";
????public?String?CCC?=?"梅花方塊黑桃紅桃小大?";
????
????List<Card>?cardList?=?new?ArrayList<Card>?();
????/**
?????*?創(chuàng)建一副撲克牌
?????*?1、建立一個list容器來存放撲克牌
?????*?2、循環(huán)遍歷產(chǎn)生撲克牌
?????*?3、把撲克牌加入list容器
?????*?4、添加大小王
?????*?5、返回list容易值
?????*?@return
?????*/
????public?void?createCard()?{
????????for?(int?i?=?0;?i?<?cardSum;?++i)?{
????????????for?(int?j?=?0;?j?<?colorSum;?++j)?{
????????????????color?=?colors[j];
????????????????value?=?values[i];
????????????????cardList.add(new?Card(color,value));
????????????}
????????}
????????
????????cardList.addAll(Arrays.asList(new?Card("大",?"王"),?new?Card("小",?"王")));
????????
????????printCards();
????}
????
????//打印牌
????public?void?printCards()?{
????????int?m?=?0;
????????for?(Card?card?:?cardList)?{
????????????m++;
????????????System.out.print(card.toString());
????????????if?(0?==?m%4)?{
????????????????System.out.print("\n");
????????????}
????????}
????????System.out.println();
????}
????
????/**
?????*?洗牌
?????*/
????public?void?shuffleCards()?{
????????Collections.shuffle(cardList);
//????????printCards();
????}
????
????/**
?????*?牌的花色和大小
?????*?@return
?????*/
????public?String?getColor()?{
????????return?color;
????}
????public?void?setColor(String?color)?{
????????this.color?=?color;
????}
????public?String?getValue()?{
????????return?value;
????}
????public?void?setValue(String?value)?{
????????this.value?=?value;
????}
????private?String?color;
????private?String?value;
????
????
????/**
?????*?toString()方法重寫
?????*/
????public?String?toString()?{
????????return?"??"?+?this.getColor()?+?this.getValue()?+?"??\t";
????}
????@Override
????public?int?compareTo(Card?o)?{
????????//?TODO?Auto-generated?method?stub
?????????if?(VVV.indexOf(this.value)?!=?VVV.indexOf(o.value))?{
????????????????return?Integer.valueOf(VVV.indexOf(this.value)).compareTo(Integer.valueOf(VVV.indexOf(o.value)));
????????????}?else?{
????????????????return?Integer.valueOf(CCC.indexOf(this.color)).compareTo(Integer.valueOf(CCC.indexOf(o.color)));
????????????}
????}

}

********************************************************************
玩家類
package?gamecard;

import?java.util.ArrayList;
import?java.util.List;

public?class?Player?{
????public?List<Card>?pCards?=?new?ArrayList<Card>();
????//構(gòu)造器
????public?Player()?{
????
????}
????public?Player(int?id,?String?name)?{
????????this.id?=?id;
????????this.name?=?name;
????}

????public?int?getId()?{
????????return?id;
????}
????public?void?setId(int?id)?{
????????this.id?=?id;
????}
????
????public?String?getName()?{
????????return?name;
????}
????public?void?setName(String?name)?{
????????this.name?=?name;
????}
????
????private?int?id;
????private?String?name;
????
????//手牌增加
????public?void?addpCards(Card?card)?{
????????pCards.add(card);
????}
????
????
????@Override
????public?String?toString()?{
????????StringBuilder?str?=?new?StringBuilder("");
????????
????????for?(Card?card?:?pCards)?{
?????????????str.append(card.getColor()?+?card.getValue()?+?"??");
????????}
????????
????????return?"玩家"?+?this.getName()?+?"\t手牌?:?[?"?
????????????????+?str?+?"?]";
????}
}

正在回答

2 回答

為啥異常捕獲的 catch需要 in.next()??? 不加就無限循環(huán)?? 求大神告知

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

慕標(biāo)1714062

為啥啊
2016-06-15 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕粉3531618

加了還是還是無限循環(huán),catch里沒有跳出循環(huán)的語句
2016-09-24 回復(fù) 有任何疑惑可以回復(fù)我~
#3

染紅_街道 提問者

???回復(fù) 慕粉3531618:
2016-09-24 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕粉3531618 回復(fù) 染紅_街道 提問者

我之前弄錯了,現(xiàn)在弄明白了,這個代碼沒問題
2016-09-24 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)
**************************************************************************
測試類
package?gamecard;

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

public?class?GameTest?{
????public?static?Scanner?in?=?new?Scanner(System.in);
//********************************************************
可隨意設(shè)計(jì)玩家人數(shù)和發(fā)牌數(shù)目
????public?static?final?int?playerNum?=?5;???
????public?static?final?int?personalCardNum?=?10;
//************************************************************
//玩家群體對象
????public?static?List<Player>?players?=?new?ArrayList<Player>();
//撲克牌對象
????public?static?Card?card?=?new?Card();
????public?String?VVV?=?"2345678910JQKA王?";
????public?String?CCC?=?"梅花方塊黑桃紅桃小大?";
????/**
?????*?游戲流程
?????*?@author?yyq
?????*?1、取牌,洗牌
?????*?2、創(chuàng)建玩家
?????*?3、輸入玩家信息、給玩家發(fā)牌
?????*?4、顯示兩人最大牌
?????*?5、比較牌的大小,宣布獲勝者
?????*?6、打印兩玩家的手牌
?????*/
????public?static?void?main(String[]?args)?{
????????GameTest?it?=?new?GameTest();
????????
????????//步驟一
????????System.out.println("--------------------游戲開始--------------------");
????????System.out.println("--------------------取出新牌--------------------");
????????card.createCard();
????????System.out.println("--------------------開始洗牌--------------------");
????????card.shuffleCards();
????????System.out.println("--------------------洗牌結(jié)束--------------------");
????????
????????//步驟二
????????System.out.println("--------------------創(chuàng)建玩家--------------------");
????????it.createPlayer();
????????
????????//步驟三
????????System.out.println("--------------------開始發(fā)牌--------------------");
????????it.getCards();
????????System.out.println("--------------------發(fā)牌結(jié)束--------------------");
????????
????????//步驟四
????????System.out.println("--------------------結(jié)果顯示--------------------");
????????it.showMaxAndWonner();
????????
????????//步驟六
????????System.out.println("--------------------手牌顯示--------------------");
????????it.showCard();
????}
????
????/**
?????*?創(chuàng)建玩家
?????*?1、新建玩家
?????*?2、提示輸入ID,如果ID不符合規(guī)范重輸
?????*?3、提示輸入姓名,并給對象當(dāng)賦值
?????*/
????public?void?createPlayer()?{
????????for?(int?i?=?0;?i?<?playerNum;?++i)?{
????????????System.out.println("c創(chuàng)建第"?+?(i+1)?+?"位玩家!");
????????????System.out.println("請輸入玩家ID:");
????????????int?id;
????????????while?(true)?{
????????????????try?{
????????????????????id?=?in.nextInt();
????????????????????break;
????????????????}?catch(Exception?e)?{
????????????????????System.out.println("請輸入正整數(shù):");
????????????????????in.next();????//?吸收緩沖區(qū)???????????這是什么意思,這句話啥作用,我看別人加這句話就對了,但我不理解
????????????????}????????
????????????}
????????
????????????System.out.println("請輸入玩家姓名:");
????????????String?name?=?in.next();?
????????????
????????????players.add(new?Player(id,?name));
????????}
????}
????
????/**
?????*?給玩家發(fā)牌
?????*/
????public?void?getCards()?{
????????int?n?=?playerNum*personalCardNum;
????????for?(int?i?=?0;?i?<?n;?++i)?{
????????????System.out.println("玩家"?+?players.get(i%playerNum).getName()?+?"\t:?拿牌");
????????????players.get(i%playerNum).pCards.add(card.cardList.get(i));
????????}

????}
????
????/**
?????*?比較獲勝者
?????*/
????public?void?showMaxAndWonner()?{
????????
????????int?n?=?players.get(0).pCards.size()-1;
????????
????????for?(int?i?=?0;?i?<?playerNum;?++i)?{
????????????Player?p?=?players.get(i%playerNum);
????????????
????????????//手牌排序
????????????Collections.sort(players.get(i).pCards);
????????????
????????????System.out.println("玩家\t"?+?p.getName()
????????????????????+?"最大手牌是:\t"?+?p.pCards.get(n).toString());
????????}
????????
????????Card?card?=?players.get(0).pCards.get(n);
????????String?nameString?=?players.get(0).getName();
????????
????????for?(int?i?=?1;?i?<?playerNum;?++i)?{
????????????if?(CCC.indexOf(card.getColor())?<?CCC.indexOf(players.get(i).pCards.get(n).getColor()))?{
????????????????card?=?players.get(i).pCards.get(n);
????????????????nameString?=?players.get(i).getName();
????????????}?else?if?(VVV.indexOf(card.getValue())?==?VVV.indexOf(players.get(i).pCards.get(n).getValue())
????????????????????&&?VVV.indexOf(card.getValue())?<?VVV.indexOf(players.get(i).pCards.get(n).getValue()))?{
????????????????????card?=?players.get(i).pCards.get(n);
????????????????????nameString?=?players.get(i).getName();
????????????????}
????????}?
????????
????????System.out.println(nameString?+?"獲勝!");
????}
????
????public?void?showCard()?{
????????for?(int?i?=?0;?i?<?playerNum;?++i)?{
????????????Collections.sort(players.get(i).pCards);
????????????System.out.println(players.get(i).toString());
????????}
????}
????

}


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

舉報(bào)

0/150
提交
取消

幫忙看看怎么優(yōu)化

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

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

幫助反饋 APP下載

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

公眾號

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