📄 account.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 + -