-->
当前位置:首页 > 题库 > 正文内容

函数题:jmu-Java-07多线程-同步访问

Luz4年前 (2021-10-31)题库1025
现已有Account类,拥有
**属性:**
private int balance
**方法:**
相应的getter方法。

**要求为该类编写:**
void deposit(int money) //存钱,在余额的基础上加上money
void withdraw(int money) //取钱,在余额的基础上减去money

**注意:**
1. 取钱时如果balance<0的时候,会抛出异常。在多线程情况下,如只有一个存钱的线程,但是有多个取钱的线程,很可能会抛出异常。
2. 需要编写完整的deposit方法与withdraw的前半部分代码解决该问题。

### 裁判测试程序:
java
import java.util.Scanner;

//这里是已有的Account类前半部分的代码
/*这里是deposit代码*/
/*这里是withdraw代码的前半部分*/
if(balance<0) //这里是withdraw代码的后半部分。
throw new IllegalStateException(balance+"");
}

/*系统已有代码,无需关注*/



### 输入样例:

分别为初始余额、存钱次数、存钱金额
取钱次数、取钱金额。有3个线程。

in
0 100000 12
100000 4



### 输出样例:

余额:使用线程跑出的结果。
余额:存钱次数*存钱金额 - 取钱次数*取钱金额*3

out
0
0









答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。