testatm.java

来自「JAVA的例子程序」· Java 代码 · 共 64 行

JAVA
64
字号
public class testATM extends Thread{
    static int Account =200;
    public static void main(String arg[]){
        Balance testBalance=new Balance();
        operaterATMThread operaterA,operaterB;
        operaterA=new operaterATMThread(testBalance,100,"用户A");
        operaterB=new operaterATMThread(testBalance,-50,"用户B");
        System.out.println("两个线程启动...");
        operaterA.start();
        operaterB.start();
        try{
            operaterA.join();
            operaterB.join();
            System.out.println("两个线程结束");
            }catch (InterruptedException e){
                System.out.println("线程结束出现错误.....");
                }
         System.out.println("银行最后存款余额是...."+Account); 
        }
    }
class Balance{
    int getAccount(){
        try{
            Thread.sleep(2000);
            }catch(InterruptedException e){
                System.out.println("取存款余额出现错误...");
                }
        return testATM.Account;
        }
    void operateMoney(int intMoneyNum,String Name){
        int balance;
        System.out.println(Name+"将要操作存款余额");
        System.out.println(Name+"取出的存款余额数据");
        balance =getAccount();
        System.out.println(Name+"取出的存款余额是:"+balance);
        System.out.println(Name+ "将要更改存款余额....:");
        balance+=intMoneyNum;
        System.out.println(Name+"更改存款余额...."+intMoneyNum);
        System.out.println(Name+"将要向服务器提交新的存款余额数据...");
        setAccount(balance);
        System.out.println(Name+"新存款余额是..."+testATM.Account);
        }
    void setAccount(int intMoneyNum){
        try{
            Thread.sleep(2000);
            }catch(InterruptedException e){
                System.out.println("提交存款余额出现错误...");
                }
        testATM.Account=intMoneyNum;
        }
    }
class operaterATMThread extends Thread{
    Balance TestBalance;
    int MoneyAccount;
    String Name;
    operaterATMThread(Balance TestBalance,int MoneyAccount,String Name){
        this.TestBalance=TestBalance;
        this.MoneyAccount=MoneyAccount;
        this.Name=Name;
        }
    public void run(){
        TestBalance.operateMoney(MoneyAccount,Name );
        }    
    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?