📄 bank.java
字号:
class Bank {
// Perform a transaction:
public void doTransaction(Transaction transaction) {
switch(transaction.getTransactionType()) {
case Transaction.CREDIT:
synchronized(transaction.getAccount()) {
// System.out.println("Start credit of " +
// transaction.getAccount() + " amount: " +
// transaction.getAmount());
// Get current balance:
int balance = transaction.getAccount().getBalance();
// Credits require require a lot of checks:
try {
Thread.sleep(100);
} catch(InterruptedException e) {
System.out.println(e);
}
balance += transaction.getAmount(); // Increment the balance.
transaction.getAccount().setBalance(balance); // Restore account balance.
// System.out.println(" End credit of " +
// transaction.getAccount() + " amount: " +
// transaction.getAmount());
break;
}
case Transaction.DEBIT:
synchronized(transaction.getAccount()) {
// System.out.println("Start debit of " +
// transaction.getAccount() + " amount: " +
// transaction.getAmount());
// Get current balance
int balance = transaction.getAccount().getBalance();
// Debits require even more checks...
try {
Thread.sleep(150);
} catch(InterruptedException e) {
System.out.println(e);
}
balance -= transaction.getAmount(); // Increment the balance.
transaction.getAccount().setBalance(balance); // Restore account balance.
// System.out.println(" End debit of " +
// transaction.getAccount() + " amount: " +
// transaction.getAmount());
break;
}
default: // We should never get here.
System.out.println("Invalid transaction");
System.exit(1);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -