資源簡介
模擬三個人排隊買票,張某、李某、趙某買電影票、售票員只有3張5元的錢,
電影票5元錢一張。張某拿20元一張的新人民幣排在李的錢買票,
李某排在趙的前面拿一張10元的人民幣買票,趙某拿一張5元的人民幣買票
(課堂作業)

代碼片段和文件信息
package?售票問題;
public?class?TicketHouse?implements?Runnable{
private?int?fiveAccount?=?3;//售票員只有3張5元
private?int?tenAccount?=?0;//可能收到10元
private?int?twentyAccount?=?0;//可能收到20元
public?void?run()
{
if(Thread.currentThread().getName().equals(“張某“))
{
saleTicket(20);//張某拿著一張20元
}
else
{
if(Thread.currentThread().getName().equals(“李某“))
{
saleTicket(10);//李某拿著一張10元
}
else
{
if(Thread.currentThread().getName().equals(“趙某“))
{
saleTicket(5);//趙某拿著一張5元
}
}
}
}
public?synchronized?void?saleTicket(int?money){
String?person?=?Thread.currentThread().getName();
if(money?==?5){//不用找零,不用等待
fiveAccount++;
System.out.println(“賣給“+person+“電影票,無需找零“+“,現有5元“+fiveAccount+“張\n“);
}
else{
if(money?==?10){//需找零,可能等待
while(fiveAccount<1){//無法找零時,需等待
try?{
System.out.println(“10元,零錢不夠,“+person+“需等待“+“現有5元“+fiveAccount+“張\n“);
wait();
System.out.println(person+“繼續買票\n“);
}catch(InterruptedException?e)?{}
}
tenAccount++;
fiveAccount?=?fiveAccount-1;
System.out.println(“賣給“+person+“電影票,找零5元“+“,現有5元“+fiveAccount+“張\n“);
}
else{
if(money?==?20)?{//需找零,可能等待
while(fiveAccount<3){//無法找零時,需等待
try?{System.out.println(“20元,零錢不夠,“+person+“需等待,“+“現有5元“+fiveAccount+“張\n“);
wait();
System.out.println(person+“繼續買票\n“);
}catch(InterruptedException?e)?{}
}
twentyAccount++;
fiveAccount?=?fiveAccount-3;
System.out.println(“賣給“+person+“電影票,找零15元,“+“現有5元“+fiveAccount+“張\n“);
}
}
}
notifyAll();
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-12?20:11??售票問題\
?????目錄???????????0??2018-04-12?20:11??售票問題\.settings\
?????文件?????????598??2018-04-12?20:11??售票問題\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2018-05-01?17:33??售票問題\bin\
?????目錄???????????0??2018-05-01?17:33??售票問題\bin\售票問題\
?????文件????????2233??2018-05-01?17:33??售票問題\bin\售票問題\TicketHouse.class
?????文件?????????928??2018-05-01?17:33??售票問題\bin\售票問題\Ticketing.class
?????目錄???????????0??2018-04-13?11:32??售票問題\src\
?????目錄???????????0??2018-04-13?11:33??售票問題\src\售票問題\
?????文件????????1827??2018-04-13?14:36??售票問題\src\售票問題\TicketHouse.java
?????文件?????????714??2018-04-13?16:13??售票問題\src\售票問題\Ticketing.java
?????文件?????????301??2018-04-12?20:11??售票問題\.classpath
?????文件?????????388??2018-04-12?20:11??售票問題\.project
- 上一篇:護網演習網絡安全應急預案.pdf
- 下一篇:基于TP3.1.2的通用網站后臺
評論
共有 條評論