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


    🎃个人专栏:

    🐬 算法设计与分析算法设计与分析_IT闫的博客-CSDN博客

    🐳Java基础Java基础_IT闫的博客-CSDN博客

    🐋c语言:c语言_IT闫的博客-CSDN博客

    🐟MySQL:数据结构_IT闫的博客-CSDN博客

    🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

    💎C++:C++_IT闫的博客-CSDN博客

    🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

    💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

    🥏python:python_IT闫的博客-CSDN博客

    欢迎收看,希望对大家有用!

    目录

    🎯问题:

    🎯 答案:

    💛废话文学: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()显示欢送信息。测试结果如下:


    🎯 代码:

    1. public class Account {
    2. private String bankName;
    3. private static double balance;
    4. private String accountName;
    5. private String accountPass;
    6. public double getBalance() {
    7. return balance;
    8. }
    9. public void setBalance(double balance) {
    10. Account.balance = balance;
    11. }
    12. public String getAccountName() {
    13. return accountName;
    14. }
    15. public void setAccountName(String accountName) {
    16. this.accountName = accountName;
    17. }
    18. public String getAccountPass() {
    19. return accountPass;
    20. }
    21. public void setAccountPass(String accountPass) {
    22. this.accountPass = accountPass;
    23. }
    24. public Account() {
    25. super();
    26. }
    27. public Account(double balance, String accountName, String accountPass) {
    28. super();
    29. Account.balance = balance;
    30. this.accountName = accountName;
    31. this.accountPass = accountPass;
    32. }
    33. public void welcome() {
    34. System.out.println("欢迎光临");
    35. }
    36. public void sayBye(){
    37. System.out.println("再见");
    38. }
    39. public boolean deposit(String accountName, String accountPass, double money) {
    40. if(this.accountName.equals(accountName)&&this.accountPass.equals(accountPass)) {
    41. if(money>0) {
    42. System.out.println(accountName+"存入"+money+"元");
    43. balance+=money;
    44. System.out.println("目前的金额为:"+balance+"元");
    45. return true;
    46. }
    47. else {
    48. System.out.println("输入错误");
    49. return false;
    50. }
    51. }
    52. System.out.println("账号或密码错误");
    53. return false;
    54. }
    55. public boolean withdraw(String accountName, String accountPass, double money) {
    56. if(this.accountName.equals(accountName)&&this.accountPass.equals(accountPass)) {
    57. if(money
    58. System.out.println(accountName+"取出"+money+"元");
    59. balance=balance-money;
    60. System.out.println("目前的金额为:"+balance+"元");
    61. return true;
    62. }
    63. else {
    64. System.out.println("输入错误或余额不足");
    65. return false;
    66. }
    67. }
    68. System.out.println("账号或密码错误");
    69. return false;
    70. }
    71. public static void main(String[] args) {
    72. Account a1=new Account(1000.0, "蔡旭坤", "123456");
    73. a1.bankName="潮商银行";
    74. a1.welcome();
    75. a1.deposit("蔡旭坤", "123456", 155.0);
    76. a1.withdraw("蔡旭坤", "123456", 123.0);
    77. a1.sayBye();
    78. }
    79. }

    💛废话文学:
    Java的优势:


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

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

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

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

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

     

  • 相关阅读:
    ssm毕设项目薪酬管理系统b26z4(java+VUE+Mybatis+Maven+Mysql+sprnig)
    Linux虚拟机安装及Docker常用操作
    iOS之crash分析篇--捕获signal类型的崩溃信息
    Mysql通过Canal同步Elasticsearch
    第二十二章 CSP Session 管理 - Private Pages
    第二次修有关路基和隧道的CASIO 5800P 万能曲线计算程序可以正反标
    C++:多态
    Springboot毕设项目基于springboot的游戏交易网络无忧3op09(java+VUE+Mybatis+Maven+Mysql)
    解决flume往hdfs中写大量小文件问题
    什么是数据仓库,解释数据仓库的结构和ETL过程
  • 原文地址:https://blog.csdn.net/shsjssnn/article/details/133800435