[問答題] 請(qǐng)完成下列Java程序:假設(shè)某家銀行,它可接受顧客的匯款,每做一次匯款,便可計(jì)算出匯款的總額?,F(xiàn)有兩個(gè)顧客,每人都分3次,每次將50元錢匯入。編寫一
[問答題] 請(qǐng)完成下列Java程序:假設(shè)某家銀行,它可接受顧客的匯款,每做一次匯款,便可計(jì)算出匯款的總額。現(xiàn)有兩個(gè)顧客,每人都分3次,每次將50元錢匯入。編寫一個(gè)程序,模擬實(shí)際作業(yè)。要求實(shí)現(xiàn)2個(gè)類,一個(gè)是銀行類,一個(gè)是顧客類。
注意:請(qǐng)勿改動(dòng)main()主方法和其他已有語句內(nèi)容,僅在下劃線處填入適當(dāng)?shù)恼Z句。
程序運(yùn)行結(jié)果如下:
Customer2 : sum=50
Customer1 : sum=50
Customer1 : sum=100
Customer2 : sum=100
Customer1 : sum=150
Customer2 : sum=150
class bank
private static int sum=0;
public static void add(int n,char c)
int tmp=sum;
______;
try
Thread. sleep( ((int) (2000-500+1)*(Math. random( ) ) ) )+500)
catch ( InterruptedException e)
sum=tmp;
System. out. println("Customer"+c+":sum="+sum) ;
class customer extends Thread
static char flag4_1 =’1’
public void run()
char myflag4_1,
synchronized(this)
myflag4_1= flag4_1++;
tmp=tmp+nbank.add(50,myflag4_1)
參考解析:本題主要考查線程的同步和設(shè)計(jì)簡單的類來模擬現(xiàn)實(shí)問題的簡單應(yīng)用。解題關(guān)鍵是熟練掌握面向?qū)ο蟮木幊趟枷耄煜ava線程的同步編程,會(huì)使用Math類的隨機(jī)數(shù)方法。本題中,第1個(gè)空,銀行類對(duì)客戶的存款進(jìn)行累加;第2個(gè)空,在客戶類中,通過使用銀行類的對(duì)象 bank調(diào)用add()方法實(shí)現(xiàn)3次匯款的操作,將錢數(shù)和客戶標(biāo)志作為參數(shù)傳遞給add()方法。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。