⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 account.java

📁 本银行系统涉及到多线程
💻 JAVA
字号:
package banking;
import java.lang.*;
import java.io.DataOutputStream;
/**import java.lang
import java.io.DataOutputStream;**/
public class Account
{
	private double balance;
	/*帐户金额*/
	private String accPassword;
	/*z帐户密码*/
	private String accNumber;
	/*帐户号码*/
	
	/**初始化帐户,取得帐户金额赋值,帐户密码,**/
	public Account(double bal,String pwd,String accNum)
	{
		balance=bal;
		accPassword = pwd;
		accNumber = new String(accNum);
	}
	
	/**返回帐户号码**/
	public String getAccountNum()
	{
		return accNumber;
	}
	
	/*查询帐户余额*/
	private double getBalance()
	{ 
		//System.out.println("查询余额为:"+balance);
		return balance;
	}
	
	/*存款业务*/
	private double Deposit(double dep)
	{
		balance+=dep;
		//System.out.println(dep+"!!");
		return balance;
	}

	/*取款业务,如果余额不足将抛出异常*/
	private boolean Withdraw(double wit,DataOutputStream out)throws myException
	{
	    double temp;
		temp=balance-wit;
		if(temp<0)
		{
			myException e=new myException(0-temp);
			throw e;
		}
		else
		{
			Double df=new Double(temp);
			//帐户临时更新
			try
			{
				out.writeUTF("取款成功,你帐上的余额为:"+df.toString());
			//帐户最终更新(以后版本将会在接收到客户端的确认信息后再更新,以保证帐户信息的可靠)
			balance=temp;
			}
			catch (Exception e)
			{
			}
            		return true;
		}

	}	
	
	/**检查帐户密码,验证客户对帐户的访问是否合法,如果合法再根据客户提交的业务操作做处理
	对于取款业务可能会抛出金额不够的异常**/
	public boolean checkPassword(String accPassword,double bal,int opType,DataOutputStream out)
	{
		

		if(this.accPassword.equals(accPassword))
		{
          		synchronized(this)
          		{
          		switch (opType)
          		{	
			  case 1: 
			  	{
			  		Double i=new Double(getBalance());
			  		try
					{
						out.writeUTF(i.toString());
					}
					catch (Exception e)
					{
					}
				}
			  		break;
			 
			  case 2: 
			  	{
			  		Double i=new Double(Deposit(bal));
			  		try
					{
						out.writeUTF(i.toString());
					}
					catch (Exception e)
					{
					}
				}
			  		break;
			  
			  case 3: {
			  		try
			  		{
			  	   		Withdraw(bal,out);
				   	}
				   	catch(myException e)
			   		{
				   		//System.out.println("Error");
				   		try
				   		{
				   			out.writeUTF("您帐上的余额不足"+"还差 "+e.getMessage());
			   			}
			   			catch(Exception abc)
			   			{
			   			}
			   		}
			   		break;
				   }
	  		}
	  		}
		}
		else
		{
			//System.out.println("Error!");
                        try
                        {
                        	out.writeUTF("密码错误");
                        }
                        catch (Exception e)
                        {
                        }
                        
                        return false;
                }
        return true;
        }
}

⌨️ 快捷键说明

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