用JAVA编程设计一个银行账户类,其中包括以下内容,并用字符界面模拟存款和取款过程。

用JAVA编程设计一个银行账户类,其中包括以下内容,并用字符界面模拟存款和取款过程。,第1张

import javautilScanner;

public class ZH {

private String zh;//账户

 private String password;//密码

 private String openTime;//开户时间

 private String sfz;//身份z号

 private double je;//存款金额

 public String getZh() {

  return zh;

 }

 public void setZh(String zh) {

  thiszh = zh;

 }

 public String getPassword() {

  return password;

 }

 public void setPassword(String password) {

  thispassword = password;

 }

 public String getOpenTime() {

  return openTime;

 }

 public void setOpenTime(String openTime) {

  thisopenTime = openTime;

 }

 public String getSfz() {

  return sfz;

 }

 public void setSfz(String sfz) {

  thissfz = sfz;

 }

 public double getJe() {

  return je;

 }

 public void setJe(double je) {

  thisje = je;

 }

 

 //存款方法

 public void ck(double je){

  thisje=thisje+je;//存入的金额加上原有的金额

 }

 

 //取款方法

 public void qk(double je){

  if(je>thisje){//取款金额大于余额

   Systemoutprintln("存款余额不足");

  }else{

   thisje=thisje-je;//原有的金额减去取出的金额

  }

 }

 public static void main(String[] args) {

  ZH zh = new ZH();//初始化一个账户信息

  zhsetJe(100000);//向zh账户添加余额

  zhsetOpenTime("2013123");//向zh账户添加开发时间

  zhsetPassword("123456");//向zh账户添加密码

  zhsetSfz("123456789");//向zh账户添加身份z

  zhsetZh("zhangsan");//向zh账户添加账号

  Systemoutprintln("欢迎光临模拟银行");

  Scanner scan = new Scanner(Systemin);

  int count=0;//记录输入错误的次数

  while(1==1){//循环

   Systemoutprintln("请输入账号");

   String zhm=scannext();

   Systemoutprintln("请输入密码");

   String mm=scannext();

   if(zhmequals(zhgetZh()) && mmequals(zhgetPassword())){//输入的信息与zh账户信息的密码和账号一致

    while(1==1){

     Systemoutprintln("当前余额为:"+zhgetJe()+"元。请选择 *** 作:1存款;2取款;3退出(只能输入数字)");

     String cz=scannext();

     switch (IntegerparseInt(cz)) {

     case 1:

      Systemoutprintln("请输入存款金额(输入小数)");

      double ckje=scannextDouble();

      zhck(ckje);

      Systemoutprintln("实施存款:"+ckje+"元,当前余额为"+zhgetJe()+"元");

      break;

     case 2:

      Systemoutprintln("请输入取款金额(输入小数)");

      double qkje=scannextDouble();

      zhqk(qkje);

      Systemoutprintln("实施取款:"+qkje+"元,当前余额为"+zhgetJe()+"元");

      break;

     case 3:

      break;

     default:

      Systemoutprintln("暂无此功能");//输入1或者2、3以外的 *** 作

      break;

     }

     if("3"equals(cz)){

      break;

     }

    }

    Systemoutprintln("退出 *** 作");

    break;

   }else{

    

    if(count>=3){

     Systemoutprintln("已输入错误三次,账号被锁");

     break;//结束循环

    }else{

     Systemoutprintln("账号或密码错误,请重新输入");

     count++;//错误一次count+1

     continue;//进入下次循环

    }

   }

  }

  

 }

}

3个类,开始

1,

/

自定义异常类

/

public class MyException extends Exception {

//验证交易类型正确性

public void TransactionsInfo(){

Systemoutprintln("交易失败,只能输入0或者1");

}

//验证金额正确性

public void amountInfo(){

Systemoutprintln("交易失败,输入金额不能为负数或者字符");

}

}

2,

public class User {

/

用户信息类

/

private String name; //用户名

private float amount; //用户金额

public User(String name,float amount){

thisname = name;

thisamount = amount;

}

public float getAmount() {

return amount;

}

public void setAmount(float amount) {

thisamount = amount;

}

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

// 交易的方法,需要接受两个参数,一个是代表交易方式(取款,或者存款,),一个代表交易金额

public User Transactions() throws MyException{

Systemoutprintln("请输入您的交易方式0代表存款,1代表取款");//提示用户交易方式

BufferedReader br1=new BufferedReader(new InputStreamReader(Systemin));

BufferedReader br2=new BufferedReader(new InputStreamReader(Systemin));

String flag = null;

try {

flag = br1readLine();

} catch (IOException e) {

eprintStackTrace();

}

if("0"equals(flag)){

}else if("1"equals(flag)){

amount=-amount;//因为1代表取款,所以变成负数

}else{

new MyException()TransactionsInfo(); //打印类型错误

return this;

}

String amountString = null;

try {

amountString = br2readLine();

} catch (IOException e) {

eprintStackTrace();

}

float amount = 00f;

try{

amount = FloatparseFloat(amountString);

}catch(Exception ex){

throw new MyException();

}

thisamount = thisamount+amount;//交易

return this; //返回用户信息

}

}

3,

public class MoneyTest {

/

测试类

@param args

/

public static void main(String[] args){

User user = new User("张三",1234f); //测试用户

Systemoutprintln("用户"+usergetName()+"交易前的金额为:"+usergetAmount());

try {

userTransactions();

} catch (MyException e) {

// TODO Auto-generated catch block

eamountInfo();

}//调用方法

Systemoutprintln("交易后的金额为"+usergetAmount());

}

}

先不说你这程序的问题,,我说说我分析你的题目(个人意见)

JAVA我要创建一个帐号类,有3个方法,分别是存钱取钱还有查询金额

帐号就是一个对象

该对象有三个属性 (卡号:id,余额:money);

有三个行为: 存钱,取钱,查询

那么初始架构就是

public class IDmoney {

private String id; //卡号

private String money; //余额

//些处为属性的get,set方法

public boolean inMoney(saveMoney){ //存钱

//方法体

}

public boolean outMoney(saveMoney){ //取钱

//方法体

}

public double selectMoney(saveMoney){ //查询

//方法体

}

}

大致就是这样,至于方法里面的处理,得看你自己业务了然后如果想自定义异常的话,你得去看看怎么自定义,和使用

现在语言都是面向对象,所以在实际开发当中,尽量向对象看

public double withdrawl(double amt) throws InsufficientFundsException {

if(amt > total) {

throw new InsufficientFundsException();

}

return total - amt;

}

public void process(boolean save, double amt) {

if(save) {

// save money

} else {

try{

double left = withdrawl(amt);

} catch(InsufficientFundsException e) {

// Handle Exception

}

}

}

//没有支持小数。

public static void main(String[] args) {

int num = 0;

Scanner scanner = new Scanner(Systemin);

do {

Systemoutprintln("请输入取款金额:");

num = scannernextInt();

switch (num) {

case 100:

Systemoutprintln("取钱成功!取款" + num + "元!");

return;

default:

Systemoutprintln("请输入100");

break;

}

} while (true);

}

public class MyException extends RuntimeException {

private static final long serialVersionUID = 1L;

public MyException() {

}

public MyException(String msg) {

super(msg);

}

public MyException(String msg, Exception ex) {

super(msg, ex);

}

}

----------------------------------------------

假如 yhk余额 为 float balance ; 取的钱为 float expenditure;

if(balance < 10  || expenditure > 5000) { //当然你可以分成2个异常来抛

 throw new DBException("余额不能低于10元 或者 单次取钱金额不能大于5000");

}

以上就是关于用JAVA编程设计一个银行账户类,其中包括以下内容,并用字符界面模拟存款和取款过程。全部的内容,包括:用JAVA编程设计一个银行账户类,其中包括以下内容,并用字符界面模拟存款和取款过程。、JAVA高手来,题目是:自定义异常类,实现银行的存钱和取钱业务、JAVA我要创建一个帐号类,有3个方法,分别是存钱取钱还有查询金额.分别抛出两个异(取钱<金额,存钱<0)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9525932.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存