JAVA实现银行账户管家

Java数据库小项目02--管家婆项目 一个小技巧,写注释要空一格,要不然不容易导包进去 0 项目要求 2 开发环境搭建 mysql-connector-java-5.1.37----MySQL的JDBC驱动包,用于JDBC连接数据库。 commons-dbutils-1.6---封装并简化了JDBC的数据库操作语言 commons-dbcp-1.4------提供数据库连接池组件。 commons-pool-1.5.6--... 阅读详情

创建一个名为“Account”的抽象类,有三个为“CheckingAccount”、“SavingsAccount”和“BusinessAccount”的子类。通过类似ATM的程序

package 银行账户管家;
 public abstract class Account {
      String name;//账户名
      Double money;//存款
      String pasword;//密码
       //还款
       public void repay(Double rem){}

        //借出
        public void loan(Double lem){}

        //查询存款
        public double get_money(){return money;}

    }

package 银行账户管家;

import java.util.Scanner;

public class BusinessAccount extends Account {
    Double credit;//利率
    Double limitmoney;//贷款额度
    BusinessAccount(String n,String p,Double m){
        name=n;
        pasword=p;
        money=m;
        credit=0.1;
        limitmoney=money*0.5;
    }
    //存钱
    public void repay(Double remoney){
        money+=remoney;
        limitmoney=money*0.5;
    }
    //取款
    public void loan(Double lemoney){
        if(lemoney<limitmoney+money){
            money-=lemoney;
            limitmoney=money*0.5;
        }
        else
            System.out.println("您的账户余额不够");
    }
    public double get_money(){
        System.out.println("请输入存款时间");
        Scanner sc= new Scanner(System.in);
        Integer period=sc.nextInt();
        money=get_credit_money(period);
        return money;
    }
    public double get_credit_money(Integer days){
        Integer m=days/30;
        Integer d=days%30;
        money+=money*credit*m;
        money+=money*(credit/100)*d;
        limitmoney=money*0.5;
        return money;
    }
}

package 银行账户管家;

public class CheckingAccount extends Account {
    CheckingAccount(String n,String p,Double m){
        name=n;
        pasword=p;
        money=m;
    }
    public void repay(Double remoney){
        money+=remoney;
    }
    public void loan(Double lemoney){
        if(lemoney<money)
            money-=lemoney;
        else
            System.out.println("您的余额不足");
    }
    public double get_money(){
        return money;
    }
}
package 银行账户管家;

import java.util.Scanner;

public class SavingsAccount extends Account {
    Double credit;
    Integer limitperm;
    Integer times;
    SavingsAccount(String n,String p,Double m){
        name=n;
        pasword=p;
        money=m;
        credit=0.02;
        limitperm=2;
        times=0;
    }
    //还款
    public void repay(Double remoney){
        times++;
        if(times<=limitperm)
            money+=remoney;
        else
            money=money+remoney-(times-limitperm)*2;
    }
    //取钱
    public void loan(Double lemoney){
        times++;
        if(times<=limitperm){
            if(lemoney<money)
                money-=lemoney;
            else
            System.out.println("您的账户余额不够");
        }
        else
            money=money-lemoney-(times-limitperm)*2;
    }
   //查询余额
    public double get_money(){
        System.out.println("请输入存款时间");
        Scanner sc= new Scanner(System.in);
        Integer period=sc.nextInt();
        money=get_credit_with_money(period);
        return money;
    }
    //计算利息
    public double get_credit_with_money(Integer p){
        Integer m=p/30;
        Integer day=p%30;
        money+=money*credit*m;
        money+=money*(credit/90)*day;
        return money;
    }
}
package 银行账户管家;

import java.util.Scanner;

public class ATM {
    public  static void main(String args[]){
        System.out.println("请输入账号密码以及存款");
        Scanner sc=new Scanner(System.in);
        String name=sc.next();
        String pasword=sc.next();
        Double money=sc.nextDouble();
        System.out.println("请选择账户类型:1-CheckingAccount  2-SavingsAccount 3-BusinessAccount");
        Integer choice=sc.nextInt();
        switch (choice){
                case 1:
                    CheckingAccount checkingAccount=new CheckingAccount(name,pasword,money);
                    System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                    Integer ch=sc.nextInt();
                    while(ch!=4){
                        switch (ch){
                            case 1:
                                System.out.println("存钱数额为:");
                                Double mon=sc.nextDouble();
                                checkingAccount.repay(mon);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                ch=sc.nextInt();
                                break;
                            case 2:
                                System.out.println("取款数额为:");
                                Double m=sc.nextDouble();
                                checkingAccount.loan(m);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                ch=sc.nextInt();
                                break;
                            case 3:
                                Double mo=checkingAccount.get_money();
                                System.out.println("本账户余额为:  "+mo);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                ch=sc.nextInt();
                                break;
                        }
                    }
                    break;
                case 2:
                    SavingsAccount savingsAccount=new SavingsAccount(name,pasword,money);
                    System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                    Integer cho=sc.nextInt();
                    while(cho!=4){
                        switch (cho){
                            case 1:
                                System.out.println("存钱数额为:");
                                Double mon=sc.nextDouble();
                                savingsAccount.repay(mon);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                cho=sc.nextInt();
                                break;
                            case 2:
                                Double m=sc.nextDouble();
                                savingsAccount.loan(m);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                cho=sc.nextInt();
                                break;
                            case 3:
                                Double mo=savingsAccount.get_money();
                                System.out.println("本账户余额为:  "+mo);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                cho=sc.nextInt();
                                break;

                        }
                    }
                    break;
                case 3:
                    BusinessAccount businessAccount=new BusinessAccount(name,pasword,money);
                    System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                    Integer choi=sc.nextInt();
                    while (choi!=4){
                        switch (choi){
                            case 1:
                                System.out.println("存钱数额为:");
                                Double mone=sc.nextDouble();
                                businessAccount.repay(mone);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                choi=sc.nextInt();
                                break;
                            case 2:
                                System.out.println("存钱数额为:");
                                Double mon=sc.nextDouble();
                                businessAccount.loan(mon);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                choi=sc.nextInt();
                                break;
                            case 3:
                                Double mo=businessAccount.get_money();
                                System.out.println("本账户余额为:  "+mo);
                                System.out.println("请选择操作:1-存钱 2-取钱 3-查询余额 4-退出");
                                choi=sc.nextInt();
                                break;
                        }
                    }
                    break;
            }
    }


}

 

管家婆家庭记账小项目 这个只是我的学习笔记,不是我做的小项目,很详细,给各位参考,给初学者一个大概做小项目的框架 ******管家婆家庭记账小项目****** 1、功能: 添加账务 编辑账务 删除账务 查询账务 退出系统 2、开发环境:eclipse、SQLyog 3、本项目使用的技术: apache的commons组件: commons-dbutils-1.4.jar:封装并... 阅读详情

相关推荐

管家婆家庭记账软件的设计与实现

本项目是一个通过 eclipse 进行 Java 程序的编写和数据库(MySQL)实现的管家婆家庭记账软件,具有记账 的功能。它分别具有财务管理和分类管理两大功能,能直观地、清晰地呈现出某年某月某日的具体的每一笔收 入与开销。由于这两大功能,我们可以实现开支占收入的最优化,从而实现金钱的合理利用,还可以优化消费 结构,人们通过对比消费分配,调整消费结构从而实现消费的最佳分配。人们也可以通过此软件清晰了解到家 庭的每一笔收入来源,从而了解到自己对各种财政收入的满意程度。

m0_75268352的博客 667

初学Java将个人银行管理系统C++源码转为Java后的一些感触

首先,我认为最大的不同在于c++的指针,对象,引用和Java里的引用,对象的区别,程序中许多C++的引用需要换成Java的引用;其次我在改编程序的过程中了解到了java不能在函数的形参中设定默认值,也了解到了Java没有冒号赋值语句, ...

qq_43568746的博客 238

JAVA实现银行账户类

一个实现银行账户类的非常简单的小程序,主要能实现信息录入以及存取款,实现不了太强大的程序,嘿嘿,实验过程中做出来的,放心下载……

第5、7周个人银行账户管理系统java版本总结博客

1.java是一门面向对象的语言,在个人银行账户管理系统的改写中,深刻体会到了面向对象的好处,那就是易维护、质量高、效率高、易扩展。 2.在对第4章的改写中,将id, lastDate,balance, rate, accumulation定义为私有变量,体现出了面向对象的封装性,通过公共方法才可以访问它们,保障了数据的安全与稳定。利息的计算方法和记录也是私有的,用户不可以进行修改。 3.在对第5章的改写中,增添静态属性与方法,增加静态的属性total,方便记录所有账号的总金额,同时静态方法,方便查询tot

weixin_45405831的博客 632

类实现银行帐户

定义一个类实现银行帐户的概念,包括的变量有“帐号”和“存款余额”,包括的方法有“存款”、“取款”和“查询余额”

java银行交易管理系统

java银行交易管理系统 Oracle 内容详细

java基础实现一个基本的银行管理系统

1.银行管理系统的基本用户信息,建议设置成私有 private String aId;//卡号 private String uesrname;//用户名 private double balance;//余额 private int withdrawAmount;//取款额度 private String password;//密码 2.构造基本的javaBean(含有get和set方法以及有参和无参构造方法) public String getaI.

weixin_50502854的博客 6638

移动182号段最新号码库

手机号码归属地,中国移动182号最新号码库,

使用Java编写银行账户类(面向对象思考实验)

银行账户类(Accoount)可以为账户存储交易。取款和存款都会产生交易信息。需要记录账户每次交易(Transaction)的信息,包括取钱还是存钱,交易的金额,交易时间和交易之后的余额。系统可以通过账户查询所有的交易次数(最多10次)。 问题一:为了实现此功能需要设计几个类? 答:两个类,Account类和Transaction类。 问题二:请写出你的设计的类的代码(先画UML图在展示代码)。 UML图: Account类: Transaction类: 注意: 两者之间为单项关联 代码如下: Acco

qq_51868285的博客 5634

模拟银行账户运作的简单实现JAVA源代码

声明银行账户类,成员变量包括账户、储户姓名、开户时间、身份证号码、存款余额等账户信息、成员方法包括开户、存款、取款、查询(与余额、明细)、销户等操作

机器人C++开源库The Robotics Library (RL)使用手册(三)

进入VS工程,我们先看看这些功能函数及其依赖库的分布关系:rl命名空间下,主要有八大模块。搞定VS后将逐个拆解。

qq_34839823的博客 1736

java编写的银行ATM系统

银行ATM系统,可以直接用来做课程设计;代码功能完善,下载后可以直接运行!

bangxiecode的博客 1548

双目视觉三维重构(一)————简介

优快云中关于立三维重构的介绍层出不穷,CNKI中也有各类综述对三维重构进行总结,撰写这篇博客仅作为本人对该类博客、论文的总结学习,加深自身学习的印象、作为学习的笔记。如有错误的地方,欢迎指正。   1、三维重构 1.1、三维重构到底是什么?   首先要了解立体匹配算法,首先要知道立体匹配算法主要具体应用于什么方向。 三维重构又被称为三维重建,百度百科中对它的定义为:指对三维物体建立适合...

qq_39634612的博客 1万+

java管家婆项目

管家婆项目 项目要求 编写一个管家婆家庭记账软件,该软件的主要功能有: 分类管理:查询分类、添加分类、编辑分类、删除分类 财务管理:多条件查询、添加账务、编辑账务、删除帐务、收支分类比例图。 要求:采用三层架构+MVC分层模型开发。 ...

计忆芳华的博客 1万+

68页|大型车企集团数字化转型汽车数字化信息系统平台规划方案

这份PPT文档提供了一个全面的汽车集团数字化转型规划方案,涵盖了项目目标、规划思路、实施关注点、解决方案建议以及合作优势等多个方面。

baidu_25525561的博客 1327

VisualStudio2022启动报错

把Users\...\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache中的Microsoft.VisualStudio.Default.cache这个文件移除,再重启vs,各项功能都能正常使用了。第一次使用方法1有效果,不知道什么原因后面又报错再删除缓存文件无效了,最后使用方法2启动VS成功。vs2022启动时,报错弹框,在ActivityLog查看具体报错信息,报错原因未知。网上搜索到两种解决方法。方法1:删除缓存文件。

面朝大海,春暖花开 3935

管家婆mysql 数据库_Java数据库小项目02--管家婆项目

目录项目要求开发环境搭建工具类JDBCUtils创建管家婆数据表项目分层MainApp层MainView层ZhangWuController层ZhangWuService层ZhangWuDao层ZhangWu bean层注:一个小技巧,写注释要空一格,要不然不容易导包进去项目要求开发环境搭建mysql-connector-java-5.1.37----MySQL的JDBC驱动包,用于JDBC连接数...

weixin_35828338的博客 1144

DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程

本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。

dd012的博客 986

【java基础】第31天——管家婆记账系统项目

今日内容介绍 1、管家婆项目 01项目训练目标 * A: 项目训练目标 * a: 项目目标 * 综合运用前面所学习的知识点 * 熟练View层、Service层、Dao层之间的方法相互调用操作、 * 熟练dbutils操作数据库表完成增删改查 * 了解公司项目开发的流程,充分的掌握项目需求分析、设计与功能的代码实现。...

就叫一片白纸的博客 3869

【LaTex】LaTex的下载与安装(2025新手小白超详细、超简洁 Windows系统)

安装地点(1)texlive的安装:首先打开下载好的安装包,找到这个文件前面缺少了一页emm我去截取其他人的作为示范然后点击安装安装时间较久,大概要一个小时左右。具体要看个人电脑性能情况。如图显示如上图,则安装成功。图中是TeXstudio 4.8.7版本针对不同操作系统和使用场景的安装包 ,区别如下:(按需求下载)

爱学习的capoo的博客 5094

【ROS2实体机械臂驱动】封装珞石ROS2驱动库ros2_rokae_driver_lib

这一篇文章将封装为,和之前一篇文章《ROS2 编译、打包、封装三方库(Knet为例)_ros插件编译成静态库-优快云博客》写的封装,区别在于优化了cmake dependencies和include等属性和宏定义,同时对于多库内部依赖的情况做了特定处理,更加方便外部调用。其中珞石的编译参考博主之前的文章rokae xCoreSDK C++测试使用,这里不再做赘述。通过这篇文章对于如何打包机械臂厂家提供的三方库做了进一步说明,方便用于不同机械臂厂家的三方库封装调用。!!

机器人梦想家 Bing Lee 1396

31_管家婆家庭记账软件

管家婆家庭记账软件 1. 项目介绍 1.1. 项目安排 1.1.1. 项目目标 本项目为JAVAEE基础班综合项目,包含了若干个知识点,达到将基础班所学知识综合使用,提高了我们对项目的理解与知识点的运用。 熟练View层、Service层、Dao层之间的方法相互调用操作、 熟练dbutils操作数据库表完成增删改查 通过本项目,让我们了解公司项目开发的流程,充分的掌握项目需求分析、设计与功能的代码...

小强博客 2565

YOLOv8【第二章:卷积创新篇·第23节】一文搞懂,Transformer与卷积混合架构!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》,该专栏持续复现网络上各种热门内容(全网YOLO改进最全最新的专栏,质量分97分+,全网顶流),改进内容支持(分类、检测、分割、追踪、关键点、OBB检测)。且专栏会随订阅人数上升而涨价(毕竟不断更新),当前性价比极高,有一定的参考&学习价值,部分内容会基于现有的国内外顶尖人工智能AIGC等AI大模型技术总结改进而来,嘎嘎硬核。    ✨ 特惠福利:目前活动一折秒杀价!一次订阅,永久免费,所有后续更新内容均免费阅读!

**My Coding Family** 1385

day31管家婆项目训练笔记

今日内容介绍 1、管家婆项目01项目训练目标* A: 项目训练目标 * a: 项目目标 * 综合运用前面所学习的知识点 * 熟练View层、Service层、Dao层之间的方法相互调用操作、 * 熟练dbutils操作数据库表完成增删改查 * 了解公司项目开发的流程,充分的掌握项目需求分析、设计与功能的代码实现。提高同学们独立

零基础大数据 919

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: JAVA 实现邮编查询——输入邮编,返回使用该邮编的地区名称。
下一篇: C++实现统计字符串中的单词数目
zoeJzy
博客等级 码龄9年 7粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值