トピックの詳細:
6-2 jmu-Java-07マルチスレッド-相互に排他的なアクセス(10ポイント)
Account
クラス
属性を定義します。private int balance
メソッド:
getterメソッドvoid deposit(int money)
//お金を節約し、残高にお金void withdraw(int money)
を追加します//お金を引き出し、残高からお金を差し引きます
注:deposit
orメソッドを介しwithdraw
てAccountオブジェクトのbalanceプロパティに同時にアクセスする複数のスレッドが存在する場合があります。
レフリーテスト手順:
import java.util.Scanner;
/*你的代码,即Account类的代码*/
/*系统已有代码,无需关注*/
回答コード:
class Account{
private int balance=0;
public Account(int balance) {
super();
this.balance = balance;
}
public Account() {
super();
}
public int getBalance() {
return balance;
}
public void setBalance(int balance) {
this.balance = balance;
}
public synchronized void deposit(int money) {
this.balance = balance+money;
}
public synchronized void withdraw(int money) {
this.balance = balance-money;
}
}