「模拟存款java」银行定期存款模拟

博主:adminadmin 2022-12-19 02:21:06 76

本篇文章给大家谈谈模拟存款java,以及银行定期存款模拟对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java模拟银行ATM完成以下功能: 1)查询余额 2)取款 3)存款 4)退出

import java.util.Scanner;

public class ATM{

public static void main(String... args){

Scanner sc=new Scanner(System.in);

double money=0;

do{

System.out.println("请选择业务:1)查询余额 2)取款 3)存款 4)退出");

int c=sc.nextInt();

if(c==1){

System.out.println("用户余额为:"+money+"元");

}else if(c==2){

while(true){

System.out.println("请输入取款金额:");

double load=sc.nextDouble();

if(load=money){

System.out.println("账户余额不足,请重新输入取款金额");

continue;

}else{

money-=load;

System.out.println("取款成功");

break;

}

}

}else if(c==3){

System.out.println("请输入存款金额:");

money+=sc.nextDouble();

System.out.println("存款成功");

}else if(c==4){

System.exit(0);

}else{

System.out.println("输入错误,请重新选择业务");

}

}while(true);

}

}

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

import java.util.Scanner;

public class ZH {

private String zh;//账户

 private String password;//密码

 private String openTime;//开户时间

 private String sfz;//身份证号

 private double je;//存款金额

 public String getZh() {

  return zh;

 }

 public void setZh(String zh) {

  this.zh = zh;

 }

 public String getPassword() {

  return password;

 }

 public void setPassword(String password) {

  this.password = password;

 }

 public String getOpenTime() {

  return openTime;

 }

 public void setOpenTime(String openTime) {

  this.openTime = openTime;

 }

 public String getSfz() {

  return sfz;

 }

 public void setSfz(String sfz) {

  this.sfz = sfz;

 }

 public double getJe() {

  return je;

 }

 public void setJe(double je) {

  this.je = je;

 }

 

 //存款方法

 public void ck(double je){

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

 }

 

 //取款方法

 public void qk(double je){

  if(jethis.je){//取款金额大于余额

   System.out.println("存款余额不足");

  }else{

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

  }

 }

 public static void main(String[] args) {

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

  zh.setJe(10000.0);//向zh账户添加余额

  zh.setOpenTime("2013.12.3");//向zh账户添加开发时间

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

  zh.setSfz("123456789");//向zh账户添加身份证

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

  System.out.println("欢迎光临模拟银行");

  Scanner scan = new Scanner(System.in);

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

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

   System.out.println("请输入账号");

   String zhm=scan.next();

   System.out.println("请输入密码");

   String mm=scan.next();

   if(zhm.equals(zh.getZh()) mm.equals(zh.getPassword())){//输入的信息与zh账户信息的密码和账号一致

    while(1==1){

     System.out.println("当前余额为:"+zh.getJe()+"元。请选择操作:1.存款;2.取款;3.退出(只能输入数字)");

     String cz=scan.next();

     switch (Integer.parseInt(cz)) {

     case 1:

      System.out.println("请输入存款金额(输入小数)");

      double ckje=scan.nextDouble();

      zh.ck(ckje);

      System.out.println("实施存款:"+ckje+"元,当前余额为"+zh.getJe()+"元");

      break;

     case 2:

      System.out.println("请输入取款金额(输入小数)");

      double qkje=scan.nextDouble();

      zh.qk(qkje);

      System.out.println("实施取款:"+qkje+"元,当前余额为"+zh.getJe()+"元");

      break;

     case 3:

      break;

     default:

      System.out.println("暂无此功能");//输入1或者2、3以外的操作

      break;

     }

     if("3".equals(cz)){

      break;

     }

    }

    System.out.println("退出操作");

    break;

   }else{

    

    if(count=3){

     System.out.println("已输入错误三次,账号被锁");

     break;//结束循环

    }else{

     System.out.println("账号或密码错误,请重新输入");

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

     continue;//进入下次循环

    }

   }

  }

  

 }

}

JAVA编写银行账户程序摸拟银行账户的存\取款操作

public class ATM {

public static void main(String[] args) {

// 开立帐号

Account account = new Account();

// 在 account 中存 10,000 元

account.setBalance(10000);

// 检查 account 中的存款

System.out.println("帐户原始金额 : " + account.getBalance() + " 元");

// 小明, 小华与小英一起对 account 进行提款的动作

WithDraw s1 = new WithDraw("小明", account, 5000); // 小明 在 account 中提 5000 元

WithDraw s2 = new WithDraw("小华", account, 2000); // 小华 在 account 中提 2000 元

WithDraw s3 = new WithDraw("小英", account, 4000); // 小英 在 account 中提 4000 元

s1.start();

s2.start();

s3.start();

}

}

//帐户

class Account {

private int balance; // 帐户馀额

public int getBalance() { // 取得帐户馀额

return balance;

}

public void setBalance(int money) { // 设定帐户馀额

balance = money;

}

// 提款方法

public void withDraw(Account account, int withdrawMoney) {

String tName = Thread.currentThread().getName(); // tName=提款人

System.out.println(tName + " 开始提款 ... ");

boolean withDrawStatus; // 提款状态 说明:false=提款失败, true=提款成功

synchronized(ATM.class) {

int tmpBalabce = account.getBalance(); // 取得最新帐户馀额

//用 for-loop 模拟提款时系统所花的时间

for(double delay=0;delay99999999;delay++) {

// ... 提款进行中 ...

}

tmpBalabce = tmpBalabce - withdrawMoney; // 最新帐户馀额 - 欲提款金额 (用来判断是否馀额足够的依据)

if (tmpBalabce 0) { // 判断是否馀额足够

withDrawStatus = false;

System.out.println("....................");

System.out.println(" 帐户馀额不足!");

System.out.println("....................");

} else {

withDrawStatus = true;

account.setBalance(tmpBalabce); // 回存account最後剩馀金额

}

}

System.out.println(tName + "的交易单:");

System.out.println("\t欲提款金额:" + withdrawMoney + "元");

System.out.println("\t帐户馀额:" + account.getBalance());

if(withDrawStatus == true){

System.out.println(tName + " 完成提款 ... ");

} else {

System.out.println(tName + " 提款失败 ... ");

}

System.out.println("-------------------------------");

}

}

// 提款类别

class WithDraw extends Thread {

private Account account; // 帐号

private int withdrawMoney; // 欲提款的金额

// tName:执行绪名称, account:Account物件名称, withdrawMoney:欲提款金额

public WithDraw(String tName, Account account, int withdrawMoney) {

setName(tName);

this.account = account;

this.withdrawMoney= withdrawMoney;

}

public void run() {

// 执行提款动作(account:帐号, withdrawMoney 欲提款金额)

account.withDraw(account, withdrawMoney); // 执行提款动作

}

}

模拟存款java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于银行定期存款模拟、模拟存款java的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-19,除非注明,否则均为首码项目网原创文章,转载请注明出处。