【Java每日一题】— —第三十一题:银行账号管理程序设计

简介: 【Java每日一题】— —第三十一题:银行账号管理程序设计

🎯问题:


(1)需求分析:


                        (a)银行账户类,包括属性:银行名称(静态)、账户名称、账户密码、账户余额;包括行为:欢迎方法(静态)、欢送方法(静态)、存钱方法、取钱方法。


(2)设计步骤:


                        (a)银行账户类Account,定义成员变量:公有的静态变量银行名称(String bankName),账户余额(double  balance)、账户名称(String accountName)、账户密码(String accountPass),定义账户余额(double  balance)、账户名称(String accountName)、账户密码(String accountPass)对应的getXxx()/setXxx()方法,定义无参构造方法和带3个参数的构造方法Account(double balance, String accountName, String accountPass);


                        (b)在Account类中定义公有的静态方法welcome(),显示欢迎信息,定义公有的静态方法sayBye(),显示欢送信息;


                        (c)在Account类中定义boolean deposit(String accountName, String accountPass, double money)方法,用于存款,具体为:验证账号和密码,如果账号和密码都正确,则继续判断存款数money是否大于0,若是,则将money加入到账户余额(double  balance),并显示存入money信息和账户余额balance信息,返回true;如果存款数money大于0不成立,则提示输入存款金额错误信息,返回false;如果账号或密码不正确,显示错误信息,并返回false;


                        (d)在Account类中定义boolean withdraw(String accountName, String accountPass, double money)方法,用于取款,具体为:验证账号和密码,如果账号和密码都正确,则继续判断取款数money是否小于账户余额balance,若是,则从账户余额(double  balance)减掉取款数money,并显示取款money信息和账户余额balance信息,返回true;如果存款数money小于账户余额balance不成立,则提示输入取款金额错误信息,返回false;如果账号或密码不正确,显示错误信息,并返回false;


                        (e)定义一个测试类Test03测试功能,具体如下:使用Account类调用公有的静态变量bankName赋值银行名称,使用Account类调用静态方法welcome()显示欢迎信息,调用Account类的带参构造方法创建银行账户对象account,银行账户对象account调用deposit ()方法向银行账户存款,银行账户对象account调用withdraw ()方法从银行账户取款,最后使用Account类调用静态方法sayBye()显示欢送信息。测试结果如下:

ec0dbf4d4e741b6f634164443b84d73c_a3d54be9295b445d90540035c05fe596.png


🎯 代码:

public class Account {
private String bankName;
private static double  balance;
private String accountName;
private String accountPass;
public double getBalance() {
  return balance;
}
public void setBalance(double balance) {
  Account.balance = balance;
}
public String getAccountName() {
  return accountName;
}
public void setAccountName(String accountName) {
  this.accountName = accountName;
}
public String getAccountPass() {
  return accountPass;
}
public void setAccountPass(String accountPass) {
  this.accountPass = accountPass;
}
public Account() {
  super();
}
public Account(double balance, String accountName, String accountPass) {
  super();
  Account.balance = balance;
  this.accountName = accountName;
  this.accountPass = accountPass;
}
public void welcome() {
  System.out.println("欢迎光临");
}
public void sayBye(){
  System.out.println("再见");
}
public boolean deposit(String accountName, String accountPass, double money) {
  if(this.accountName.equals(accountName)&&this.accountPass.equals(accountPass)) {
    if(money>0) {
      System.out.println(accountName+"存入"+money+"元");
      balance+=money;
      System.out.println("目前的金额为:"+balance+"元");
      return true; 
    }
    else {
      System.out.println("输入错误");
      return false;
    }
  }
  System.out.println("账号或密码错误");
    return false;
}
public boolean withdraw(String accountName, String accountPass, double money) {
  if(this.accountName.equals(accountName)&&this.accountPass.equals(accountPass)) {
    if(money<balance) {
      System.out.println(accountName+"取出"+money+"元");
      balance=balance-money;
      System.out.println("目前的金额为:"+balance+"元");
      return true; 
    }
    else {
      System.out.println("输入错误或余额不足");
      return false;
    }
  }
  System.out.println("账号或密码错误");
  return false;
}
public static void main(String[] args) {
  Account a1=new Account(1000.0, "蔡旭坤", "123456");
  a1.bankName="潮商银行";
  a1.welcome();
  a1.deposit("蔡旭坤", "123456", 155.0);
  a1.withdraw("蔡旭坤", "123456", 123.0);
  a1.sayBye();
}
}
 
 

💛废话文学:

Java的优势:


跨平台性: Java是一种跨平台的编程语言,即一次编写,到处运行。Java程序在不同的操作系统上具有很高的移植性,这使得开发人员能够通过Java开发应用程序,无需担心底层操作系统的差异。


面向对象: Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性。这种编程范式使得代码可以更加模块化、可重用,并且有助于提高代码的可维护性和可扩展性。


强大的生态系统: Java拥有丰富的标准库和第三方库,提供了各种功能强大的工具和框架,如Spring、Hibernate和JUnit等。这些工具和框架使得Java开发人员能够更加高效地开发应用程序,并提供了解决特定问题的解决方案。


多线程支持: Java内置了对多线程编程的支持,使得开发人员可以轻松地创建并发应用程序。多线程编程可以有效地利用多核处理器的性能,并提高程序的响应速度和吞吐量。


安全性: Java拥有严格的安全机制,包括字节码验证、安全管理器和安全沙箱等,可以防止恶意代码对系统的破坏。这使得Java成为开发安全性要求较高的应用程序的理想选择。

目录
相关文章
|
2天前
|
搜索推荐 前端开发 Java
java医院绩效考核管理系统项目源码
系统需要和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入),对获取的数据系统按照设定的公式进行汇算,且设置审核机制,可以退回修正,系统功能强大,完全模拟医院实际绩效核算过程,且每步核算都可以进行调整和参数设置,能适应医院多种绩效核算方式。
4 0
|
7天前
|
JavaScript Java 测试技术
基于Java的同城蔬菜配送管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的同城蔬菜配送管理系统的设计与实现(源码+lw+部署文档+讲解等)
11 0
|
7天前
|
JavaScript Java 测试技术
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
28 0
基于Java的心理预约咨询管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
7天前
|
JavaScript Java 测试技术
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
基于Java的高校毕业生就业管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
7天前
|
JavaScript Java 测试技术
基于Java的西安旅游管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的西安旅游管理系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
|
7天前
|
JavaScript Java 测试技术
基于Java的学生奖惩管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的学生奖惩管理系统的设计与实现(源码+lw+部署文档+讲解等)
6 0
|
7天前
|
JavaScript Java 测试技术
基于Java的校园兼职管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的校园兼职管理系统的设计与实现(源码+lw+部署文档+讲解等)
18 0
|
7天前
|
JavaScript Java 测试技术
基于Java的西藏民族大学创新学分管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的西藏民族大学创新学分管理系统的设计与实现(源码+lw+部署文档+讲解等)
19 0
|
7天前
|
JavaScript Java 测试技术
基于Java的政务大厅管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的政务大厅管理系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
|
8天前
|
JavaScript Java 测试技术
基于Java的通讯录管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的通讯录管理系统的设计与实现(源码+lw+部署文档+讲解等)
34 5