🎯问题:
(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()显示欢送信息。测试结果如下:
🎯 代码:
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成为开发安全性要求较高的应用程序的理想选择。