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

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

我的紙牌,部分內(nèi)容借鑒大牛

package?com.imooc;

import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.HashSet;
import?java.util.Iterator;
import?java.util.List;
import?java.util.Scanner;
import?java.util.Set;
/**
?*?控制器,主函數(shù)
?*?@author?jelly
?*
?*/
public?class?Controller?{
	List<Poker>?poker?=?new?ArrayList<Poker>();
	List<Player>?player?=?new?ArrayList<Player>();
	Set<Poker>?newPoker;
????//創(chuàng)建poker牌
	public?void?build()?{
		System.out.println("-----------開始創(chuàng)建撲克牌-----------");

		String[]?suits?=?{?"方片",?"梅花",?"紅桃",?"黑桃"?};
		String[]?numbers?=?{?"2",?"3",?"4",?"5",?"6",?"7",?"8",?"9",?"10",?"J",
				"Q",?"K",?"A",?};
		System.out.println("-----------撲克創(chuàng)建成功----------");
		System.out.print("為:[");
		for?(int?i?=?0;?i?<?4;?i++)?{
			for?(int?j?=?0;?j?<?13;?j++)?{
				poker.add(new?Poker(suits[i],?numbers[j]));
			}
		}
		for?(Poker?pk?:?poker)?{
			System.out.print(pk?+?",");
		}

		System.out.println("]");
	}

	//?洗牌
	public?void?shuffle()?{
		System.out.println("----------開始洗牌----------");
		this.newPoker?=?new?HashSet<>(poker);
		System.out.println("----------洗牌結(jié)束----------");
	}

	//?創(chuàng)建玩家
	public?void?buildPlayer()?{
		System.out.println("----------創(chuàng)建玩家----------");
		int?i?=?0;
		while?(i?<?2)?{
			System.out.println("請輸入第"?+?(i?+?1)?+?"位玩家的ID和姓名");
			try?{
				Scanner?in?=?new?Scanner(System.in);
				System.out.println("輸入ID:");
				int?id?=?in.nextInt();
				System.out.println("輸入姓名:");
				String?name?=?in.next();
				player.add(new?Player(id,?name));
				i++;
			}?catch?(Exception?e)?{
				System.out.println("請輸入整數(shù)類型的ID");
			}
		}
		for?(int?k?=?0;?k?<?player.size();?k++)?{
			System.out.println("歡迎玩家:"?+?player.get(k).getName());
		}

	}

	//?發(fā)牌
	public?void?deal()?{
		System.out.println("----------開始發(fā)牌----------");
		for?(int?i?=?0;?i?<?2;?i++)?{
			for?(int?j?=?0;?j?<?2;?j++)?{
				Iterator<Poker>?it?=?newPoker.iterator();
				Poker?poker?=?it.next();
				player.get(j).handPoker.add(poker);
				System.out.println("玩家"?+?player.get(j).getName()?+?"拿牌");
				newPoker.remove(poker);
			}
		}
		System.out.println("----------發(fā)牌結(jié)束----------");
	}

	public?void?game()?{
		System.out.println("----------開始游戲----------");
		Compare?compare?=?new?Compare();
		for?(int?i?=?0;?i?<?2;?i++)?{
			Collections.sort(player.get(i).handPoker,?compare);
			System.out.println("玩家"?+?player.get(i).getName()?+?"最大的手牌為"
					+?player.get(i).handPoker.get(1));
		}
		if?(compare.compare(player.get(0).handPoker.get(0),
				player.get(1).handPoker.get(1))?>?0)?{
			System.out.println("玩家"?+?player.get(0).getName()?+?"獲勝");
		}?else?{
			System.out.println("玩家"?+?player.get(1).getName()?+?"獲勝");
		}
		System.out.println("玩家各自的手牌為");
		for?(int?j?=?0;?j?<?2;?j++)?{
			System.out.println("玩家"+player.get(j).getName());
			for?(Poker?poker?:?player.get(j).handPoker)?{
					System.out.println(poker+"??");
			}
		}
	}

	public?static?void?main(String[]?args)?{
		Controller?cr?=?new?Controller();
		cr.build();
		cr.shuffle();
		cr.buildPlayer();
		cr.deal();
		cr.game();
	}
}


正在回答

9 回答

恩,有一些漏洞,應(yīng)該用collection.shuffle(),方法,不過我當(dāng)時不知道這個方法,謝謝各位了,多多學(xué)習(xí)

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

然后 game方法 中對比的應(yīng)該是2個較大的手牌么?,

if?(compare.compare(player.get(0).handPoker.get(0),

????????????????player.get(1).handPoker.get(1))?>?0)

此句第一個handPoker.get(0),應(yīng)該是較小那一個,是否該改為handPoker(1)??? ?

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

丶呵欠

上邊這句寫錯了,應(yīng)該是 改為handPoker.get(1)
2015-08-05 回復(fù) 有任何疑惑可以回復(fù)我~
#2

大明狗

我也不懂,但是我改了以后運(yùn)行的結(jié)果不對
2015-08-13 回復(fù) 有任何疑惑可以回復(fù)我~
#3

丶呵欠 回復(fù) 大明狗

我的沒改之前,是錯的。改完之后正確。。。。
2015-08-14 回復(fù) 有任何疑惑可以回復(fù)我~
#4

大明狗 回復(fù) 丶呵欠

我覺得就是打錯了,排序下來get(0)應(yīng)該都是較小的那個牌才對啊
2015-08-15 回復(fù) 有任何疑惑可以回復(fù)我~
#5

丶呵欠 回復(fù) 大明狗

對啊,所以我說應(yīng)該是吧第一個HandPoker.get(0) 這里改成1才對,因?yàn)?才是較大的牌。
2015-08-15 回復(fù) 有任何疑惑可以回復(fù)我~
#6

大明狗 回復(fù) 丶呵欠

嗯,改了以后應(yīng)該沒什么問題 的
2015-08-16 回復(fù) 有任何疑惑可以回復(fù)我~
#7

丶呵欠 回復(fù) 大明狗

不知道你洗牌部分是不是和樓主一樣,一樣的話,你多次運(yùn)行 看看結(jié)果,貌似不會變化
2015-08-16 回復(fù) 有任何疑惑可以回復(fù)我~
#8

大明狗 回復(fù) 丶呵欠

洗牌方法和他的不一樣
2015-08-17 回復(fù) 有任何疑惑可以回復(fù)我~
查看5條回復(fù)

洗牌部分真的洗牌了嗎?

這樣多次運(yùn)行結(jié)果應(yīng)該不會變,因?yàn)椴]有洗牌,只是把newpoker賦值了poker,然而前面應(yīng)該加一句?Collections.shuffle(poker);

才可做到洗牌效果吧?

可能不對,考慮考慮

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

Controller 中 創(chuàng)建Poker 語句

for?(Poker?pk?:?poker)?{

????????????System.out.print(pk?+?",");

????????}

為什么我輸出的是地址符?

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

丶呵欠

原因是我這里寫錯了~ public String toString() { return this.suit+this.num; }
2015-08-04 回復(fù) 有任何疑惑可以回復(fù)我~

代碼無懈可擊,但我覺得有個地方可能有問題:

老師要求隨機(jī)洗牌后按順序從第一張撲克開始發(fā)牌,用Set(無序的)集合,用迭代器取牌并不符合發(fā)牌規(guī)則,這更像從撲克牌中隨機(jī)取牌,如果洗牌后的排序不變,你的發(fā)牌出現(xiàn)的結(jié)果是隨機(jī)的

?//?發(fā)牌
????public?void?deal()?{
????????System.out.println("----------開始發(fā)牌----------");
????????for?(int?i?=?0;?i?<?2;?i++)?{
????????????for?(int?j?=?0;?j?<?2;?j++)?{
????????????????Iterator<Poker>?it?=?newPoker.iterator();
????????????????Poker?poker?=?it.next();
????????????????player.get(j).handPoker.add(poker);
????????????????System.out.println("玩家"?+?player.get(j).getName()?+?"拿牌");
????????????????newPoker.remove(poker);
????????????}
????????}
????????System.out.println("----------發(fā)牌結(jié)束----------");
????}
?Set<Poker>?newPoker;?//代碼中洗牌后的撲克牌的集合


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

厲害啊


0 回復(fù) 有任何疑惑可以回復(fù)我~
package?com.imooc;

import?java.util.Arrays;
import?java.util.Comparator;
import?java.util.List;
/**
?*?比較規(guī)則
?*?@author?jelly
?*
?*/
public?class?Compare?implements?Comparator<Poker>?{

	@Override
	public?int?compare(Poker?o1,?Poker?o2)?{

		List<String>?nums?=?Arrays.asList("2",?"3",?"4",?"5",?"6",?"7",?"8",
				"9",?"J",?"Q",?"K",?"A");
		List<String>?color?=?Arrays.asList("方塊",?"梅花",?"紅桃",?"黑桃");
		if?(nums.indexOf(o1.getNum())?==?nums.indexOf(o2.getNum()))
			return?(((Integer)?(color.indexOf(o1.getSuit())))
					.compareTo((Integer)?(color.indexOf(o2.getSuit()))));
		else?{
			return?(((Integer)?nums.indexOf(o1.getNum())))
					.compareTo(((Integer)?nums.indexOf(o2.getNum())));
		}
	}
}


0 回復(fù) 有任何疑惑可以回復(fù)我~
package?com.imooc;



/**
?*?poker?class
?*?@author?jelly
?*
?*/
public?class?Poker?{
	private?String?suit;//撲克牌的花色
	private?String?num;//poker's?number

	public?Poker(String?suit,String?num){
		this.suit?=?suit;
		this.num?=?num;

	}
	public?String?getSuit()?{
		return?suit;
	}
	public?void?setSuit(String?suit)?{
		this.suit?=?suit;
	}
	public?String?getNum()?{
		return?num;
	}
	public?void?setNum(String?num)?{
		this.num?=?num;
	}
????public?String?toString()
????{
????????return?this.suit+this.num;
????}

}


0 回復(fù) 有任何疑惑可以回復(fù)我~
package?com.imooc;

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

/**
?*?玩家類
?*?@author?jelly
?*
?*/
public?class?Player?{
	private?int?ID;//萬家的ID
	private?String?name;
	List<Poker>?handPoker?=?new?ArrayList<Poker>();
	
	public?Player(int?ID,String?name){
		this.ID?=?ID;
		this.name?=?name;
	}
	public?int?getID()?{
		return?ID;
	}
	public?void?setID(int?iD)?{
		ID?=?iD;
	}
	public?String?getName()?{
		return?name;
	}
	public?void?setName(String?name)?{
		this.name?=?name;
	}
}


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

舉報

0/150
提交
取消

我的紙牌,部分內(nèi)容借鑒大牛

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

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

幫助反饋 APP下載

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

公眾號

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