首页 > 计算机 > 计算机考试 正文

[问答题] 请完成下列Java程序:假设某家银行,它可接受顾客的汇款,每做一次汇款,便可计算出汇款的总额。现有两个顾客,每人都分3次,每次将50元钱汇入。编写一个程序,模拟实际作业。要求实现2个类,一

时间:2021-07-20 17:26:29 解答: 89 次

[问答题] 请完成下列Java程序:假设某家银行,它可接受顾客的汇款,每做一次汇款,便可计算出汇款的总额。现有两个顾客,每人都分3次,每次将50元钱汇入。编写一个程序,模拟实际作业。要求实现2个类,一个是银行类,一个是顾客类。

注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

程序运行结果如下:

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)

参考解析:

本题主要考查线程的同步和设计简单的类来模拟现实问题的简单应用。解题关键是熟练掌握面向对象的编程思想,熟悉Java线程的同步编程,会使用Math类的随机数方法。本题中,第1个空,银行类对客户的存款进行累加;第2个空,在客户类中,通过使用银行类的对象 bank调用add()方法实现3次汇款的操作,将钱数和客户标志作为参数传递给add()方法。

  • 相关题库

请充值VIP继续使用(未注册用户支付后会自动注册登录)

×

95元 29元

VIP截止日期:2025-01-02 00:31:01

←请使用支付宝扫码支付

95元 29元

VIP截止日期:2025-01-02 00:31:01

←请使用微信扫码支付