精华内容
下载资源
问答
  • java银行账户管理系统

    2018-05-11 16:50:33
    支持管理员登录,存款,取款,注册账户,注销账户,转账操作,利息计算以及退出系统操作。
  • #include<iostream> using namespace std; class A { public: virtual void print(){cout<<"This is A"<<endl;} }; class B : public A { public: void print(){cout<...}
  • 这是一个基于JAVA银行账户管理系统的一个代码手册
  • 所用到的知识点:面向对象基础语法,封装,方法覆盖... //0 – 储蓄账户 1 – 信用账户 2 – 可贷款储蓄账户 3– 可贷款信用账户 private Long id ;//账户号码 private String password;//账户密码 private Strin
    所用到的知识点:面向对象基础语法,封装,方法覆盖(重写)、继承、多态
    话不多说,直接上代码

    Account.java

    package com.task1;
    
    import java.util.Scanner;
    
    public class Account {
    	//规定账户类型:
    	//0 – 储蓄账户  1 – 信用账户 2 – 可贷款储蓄账户 3– 可贷款信用账户
    	private Long id ;//账户号码
    	private String password;//账户密码
    	private String name;//真实姓名
    	private String personId;//身份证号码
    	private String email;//客户的电子邮箱
    	private double balance;//账户余额
    	private int type;//账户类型
    	
    	//无参的构造方法
    	public Account(){
    		
    	}
    	
    	//有参的构造方法
    	public Account(long id, String password, String name, String personId, String email, double balance, int type) {
    			super();
    			this.id = id;
    			this.password = password;
    			this.name = name;
    			this.personId = personId;
    			this.email = email;
    			this.balance = balance;
    			this.type = type;
    		}
    	
    	//get、set方法
    	public Long getId() {
    		return id;
    	}
    
    	public void setId(long id) {
    		this.id = id;
    	}
    
    	public String getPassword() {
    		return password;
    	}
    
    	public void setPassword(String password) {
    		this.password = password;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public String getPersonId() {
    		return personId;
    	}
    
    	public void setPersonId(String personId) {
    		this.personId = personId;
    	}
    
    	public String getEmail() {
    		return email;
    	}
    
    	public void setEmail(String email) {
    		this.email = email;
    	}
    
    	public double getBalance() {
    		return balance;
    	}
    
    	public void setBalance(double balance) {
    		this.balance = balance;
    	}
    
    	public int getType() {
    		return type;
    	}
    
    	public void setType(int type) {
    		this.type = type;
    	}
    
    	//存款
    	public Account deposit(double money ) {
    		this.balance+= money;   //余额增加
    		return this;
    	}
    	
    	//取款
    	public Account withdraw(double money) {
    		if(balance - money >= 0) { //判断余额是否足够
    			balance -= money;  //余额减少
    //			System.out.println("存款成功");
    		}
    		else {
    			System.out.println("您的余额不足!");
    		}
    		return this;
    	}
    
    	//重写toString方法
    	@Override
    	public String toString() {
    		return "Account [id=" + id + ", password=" + password + ", name=" + name + ", personId=" + personId + ", email="
    				+ email + ", balance=" + balance + ", type=" + type + "]";
    	}
    	
    	
    	
    }
    
    

    SavingAccount.java

    package com.task1;
    
    public class SavingAccount extends Account {
    
    	public SavingAccount() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    
    	public SavingAccount(long id, String password, String name, String personId, String email, double balance,
    			int type) {
    		super(id, password, name, personId, email, balance, type);
    		// TODO Auto-generated constructor stub
    	}
    
    	@Override
    	public String toString() {
    		return "SavingAccount [getId()=" + getId() + ", getPassword()=" + getPassword() + ", getName()=" + getName()
    				+ ", getPersonId()=" + getPersonId() + ", getEmail()=" + getEmail() + ", getBalance()=" + getBalance()
    				+ ", getType()=" + getType() + "]";
    	}
    
    
    	
    	
    }
    
    

    CreditAccpunt.java

    package com.task1;
    
    public class CreditAccount extends Account{
    	private double ceiling;
    
    
    
    
    	public CreditAccount() {
    		super();
    	}
    
    	public CreditAccount(long id, String password, String name, String personId, String email, double balance,
    			int type,double ceiling) {
    		super(id, password, name, personId, email, balance, type);
    		this.ceiling = ceiling;
    
    	}
    
    
    
    	public double getCeiling() {
    		return ceiling;
    	}
    
    	public void setCeiling(double ceiling) {
    		this.ceiling = ceiling;
    	}
    
    
    
    	@Override
    	public String toString() {
    		return "CreditAccount [getCeiling()=" + getCeiling() + ", getId()=" + getId() + ", getPassword()="
    				+ getPassword() + ", getName()=" + getName() + ", getPersonId()=" + getPersonId() + ", getEmail()="
    				+ getEmail() + ", getBalance()=" + getBalance() + ", getType()=" + getType() + "]";
    	}
    
    	@Override
    	public Account withdraw(double money) {
    		if(getBalance() >= money) {
    			setBalance(getBalance() - money);
    		}else if(getBalance() + getCeiling() >= money) {
    			setCeiling(getCeiling()-(money-getBalance()));
    			setBalance(0);
    		}else {
    			System.out.println("对不起,您的余额不足");
    		}
    		return this;
    	}
    
    	
    
    
    
    	
    }
    
    

    Bank.java

    package com.task1;
    
    import java.util.Scanner;
    
    
    
    
    
    public class Bank {
    	int index = 0; //当前用户数量
    	Account [] accounts = new Account [100];//数据库
    	Account account = null;
    	/*
    	 * 用户开户(register)
          参数列表: Long 账号, String密码, String确认密码,String 姓名,String身份证号码,String邮箱,int 账户类型;
    
    (Long id, String password, String repassword, String name, String personID, String email, int type)
    
          返回类型:Account
    
          规定账户类型:0 – 储蓄账户  1 – 信用账户 2 – 可贷款储蓄账户 3– 可贷款信用账户
    	 */
    	//用户开户
    	public Account register(Long id, String password, String repassword, String name, String personId, String email, int type) {
    
    		if(password.equals(repassword)) {  // 判断两次输入密码是否一致
    			switch (type) {          //根据用户类型创建不同账户
    			case 0: 
    				account = new SavingAccount(id, repassword, name, personId, email, 0, type);   //创建储蓄账户
    				
    				break;
    			case 1:
    				account = new CreditAccount(id, repassword, name, personId, email, 0, type,1000);   //创建信用账户
    			}
    			accounts[index++] = account;    //账户信息存到数据库,用户数量+1
    		}
    //		else {
    //			System.out.println("两次输入的密码不一致");
    //		}
    		return account;
    	}
    	
    	//用户登录
    	public Account login(Long id, String password) {
    		int find = searchIdPassword(index, id, password); //当前用户数组下标
    		if(find >= 0) {						//判断账户密码是否正确
    //			System.out.println("登录成功");
    			return accounts[find];         //返回当前对象
    		}
    //		else {
    //			System.out.println("用户名密码错误");
    //		}
    		
    		return null;			//如果账户密码错误返回空
    	}
    	
    	//用户存款
    	public Account deposit(Long id, double money) {
    		int find = searchId(index, id);当前用户数组下标
    		if(find >= 0) {							//判断账户是否存在
    			accounts[find].deposit(money);      //调用Account类的存款方法
    //			System.out.println("存款成功");
    			return accounts[find];             //返回当前对象
    //			accounts[find].setBalance(accounts[find].getBalance()+money);
    		}
    //		else {
    //			System.out.println("用户不存在");
    //		}
    		
    
    		return null;			//如果账户不存在返回空
    	}
    	
    	//用户取款
    	public Account withdraw(Long id, String password, double money) {
    		int find = searchIdPassword(index, id, password);//当前用户数组下标
    		if(find >= 0) {									//判断账户密码是否正确
    			
    			accounts[find].withdraw(money);				//调用当前对象的取款方法	
    //			System.out.println("取款成功");
    			return accounts[find];						//返回当前对象
    
    		}
    		return null;
    	}
    	//设置透支额度
    	public Account updateCeiling(Long id, String password, double money) {
    		int find = searchIdPassword(index, id, password);//获取当前用户数组下标
    		if((find >= 0) && (accounts[find].getType()) == 1){  //判断账户号码和密码是否正确,账户类型是否为信用账户
    			((CreditAccount)accounts[find]).setCeiling(((CreditAccount)accounts[find]).getCeiling() + money); //调用set方法设置透支额度
    			return accounts[find];
    		}
    		return null;
    	}
    	
    	
    	//  转账功能
    	//  参数:from转出账户,passwordFrom 转出账号的密码,to转入账户,money转账的金额
    	public boolean transfer(Long from, String passwordFrom, Long to, double money) {
    		int find = searchIdPassword(index, from, passwordFrom); //转账账户数组下标
    		int find2 = searchId(index, to);              //收款账户数组下标
    		if(find >= 0 && find2 >= 0 && accounts[find].getBalance() >= money) {  //判断转账账户密码、收款账户是否匹配,判断转账用户余额是否足够
    				accounts[find].withdraw(money);//转账用户转账操作==取款
    				accounts[find2].deposit(money);//收款用户 == 存款
    				return true;
    
    		} 
    
    		return false;
    	}
    	
    	//统计银行所有账户余额总数
    	public double balanceSum() {
    		double sum = 0;     //初始化所有账户余额
    		for(int i = 0; i < index; i++) {  //遍历数组
    			sum += accounts[i].getBalance();//求和(账户余额)
    		}
    		return sum;
    	}
    	
    	//统计所有信用账户透支额度总数
    	public double ceilingSum() {
    		double sum = 0;  //初始化所有透支额度和
    		for(int i = 0; i < index; i++) {  //遍历
    			if(accounts[i].getType() == 1) {  //判断账户类型是否为信用账户
    				sum += ((CreditAccount)accounts[i]).getCeiling(); //求和
    			}
    		}
    		return sum;
    	}
    	//搜索Id与密码返回数组下标位置
    	public int searchIdPassword(int index, Long id, String password) {
    		for(int i = 0; i < index; i++) {
    			if(id.equals(accounts[i].getId()) && password.equals(accounts[i].getPassword())){  //比较账户和密码是否匹配
    				return i ;				//匹配则返回账户数组下标
    			}
    			
    		}
    		return -1;						//不匹配则返回-1
    	}
    	//搜索Id
    	public int searchId(int index, Long id) {
    		for(int i = 0; i < index; i++) {
    			if(id.equals(accounts[i].getId())){   //比较账户是否匹配
    				return i ;						//匹配则返回账户数组下标
    			}
    			
    		}
    		return -1;					//不匹配则返回-1
    	}
    }
    
    
    

    TestAccount.java

    package com.task1;
    
    public class TestAccount {
    
    	public static void main(String[] args) {
    
    		Account a =new Account(123456L, "123456","张三", "421356", "tt@tt.com", 100.0, 0);
    		System.out.println(a);		
    	}
    
    }
    
    

    TestBank.java

    package com.task1;
    
    import java.util.Scanner;
    
    public class TestBank {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		Bank bank = new Bank();
    		String action =null;
    		do {
    			System.out.println("菜单:");
    			System.out.println("---[1.开户]---");
    			System.out.println("---[2.登录]---");
    			System.out.println("---[3.存款]---");
    			System.out.println("---[4.取款]---");
    			System.out.println("---[5.设置透支额度]---");
    			System.out.println("---[6.转账]---");
    			System.out.println("请选择服务");
    			int choice =sc.nextInt();
    			
    			switch(choice) {
    			
    				case 1:			//开户
    
    					System.out.println("请输入账户号码:");
    					Long id = sc.nextLong();
    					System.out.println("请输入账户密码:");
    					String password = sc.next();
    					System.out.println("请确认账户密码:");
    					String repassword = sc.next();
    					System.out.println("请输入真实姓名:");
    					String name = sc.next();
    					System.out.println("请输入身份证号:");
    					String personId = sc.next();
    					System.out.println("请输入电子邮箱:");
    					String email = sc.next();
    					System.out.println("请输入账户类型:0 – 储蓄账户  1 – 信用账户 2 – 可贷款储蓄账户 3– 可贷款信用账户");
    					int type = sc.nextInt();
    					
    					Account a1 = bank.register(id, password, repassword, name, personId, email, type);
    					if(a1 != null) {
    						System.out.println(a1);
    						System.out.println("开户成功");
    					}else {
    						System.out.println("两次输入密码不一致");
    					}
    					
    					break;
    				case 2:			//登录
    					System.out.println("请输入账户号码:");
    					id = sc.nextLong();
    					System.out.println("请输入账户密码:");
    					password = sc.next();
    					Account a2 = bank.login(id, password);
    					if(a2 != null) {
    						System.out.println(a2);
    						System.out.println("登录成功");
    					}else {
    						System.out.println("账户号码密码错误");
    					}
    					
    					break;
    					
    				case 3:			//存款
    					
    					System.out.println("请输入账户号码:");
    					id = sc.nextLong();
    					System.out.println("请输入存款金额:");
    					double money = sc.nextDouble();
    					Account a3 = bank.deposit(id, money);
    					if(a3 != null) {
    						System.out.println(a3);
    							System.out.println("存款成功");
    					}else {
    						System.out.println("账户不存在");
    					}
    					break;
    					
    				case 4:			//取款
    					System.out.println("请输入账户号码:");
    					id = sc.nextLong();
    					System.out.println("请输入账户密码:");
    					password = sc.next();
    					System.out.println("请输入取款金额:");
    					money = sc.nextDouble();
    					Account a4 = bank.withdraw(id, password, money);
    					if(a4 != null ) {
    						System.out.println(a4);
    						System.out.println("取款成功");
    					}else {
    						System.out.println("账户号码密码错误");
    					}
    					
    					break;
    					
    				case 5://设置透支额度
    					System.out.println("请输入账户号码:");
    					id = sc.nextLong();
    					System.out.println("请输入账户密码:");
    					password = sc.next();
    					System.out.println("请输入透支金额:");
    					money = sc.nextDouble();
    					Account a5 = bank.updateCeiling(id, password, money);
    					if(a5 != null ) {
    						System.out.println(a5);
    						System.out.println("设置透支额度成功");
    					}else {
    						System.out.println("账户号码密码错误或账户类型错误");
    					}
    					
    					break;
    					
    				case 6://  转账功能
    					System.out.println("请输入转账账户号码:");
    					Long from = sc.nextLong();
    					System.out.println("请输入转账账户密码:");
    					String passwordFrom = sc.next();
    					System.out.println("请输入收款账户号码:");
    					Long to = sc.nextLong();
    					System.out.println("请输入转账金额:");
    					money = sc.nextDouble();
    					boolean flag = bank.transfer(from, passwordFrom, to, money);
    					if(flag) {
    						System.out.println("转账成功");
    					}else {
    						System.out.println("转账失败");
    					}
    					
    					break;
    				default:
    					System.out.println("服务选择错误");
    			}
    			System.out.println("是否继续(y/n)?");
    			action = sc.next();
    		
    		}while("y".equals(action));
    		
    		double balanceSum = bank.balanceSum();
    		double ceilingSum = bank.ceilingSum();
    		System.out.println("银行所有账户余额总数:"+balanceSum);
    		System.out.println("所有信用账户透支额度总数"+ceilingSum);
    	}
    
    }
    
    
    展开全文
  • 论文讨论了一种通过Java语言构建的银行账户管理系统的方案。
  • 银行账户管理系统 基于Java开发
  • Java银行账户管理系统

    千次阅读 多人点赞 2019-07-17 16:43:41
    用的Java语言,开发平台是eclipse,借助Java的GUI来实现,通过文件储存数据。自己来写界面的话当然比较烦,于是我用的eclipse的插件WindowBuilder,通过可视化拖拽的方式来生成各个界面。点击查看WindowBuilder的 ...

    系统实现:
    开发语言是Java,开发平台是eclipse,通过文件储存数据,借助Java的GUI来实现交互。自己来写界面的话当然比较烦,于是我用的eclipse的插件WindowBuilder,通过可视化拖拽的方式来生成各个界面。点击查看WindowBuilder的安装与使用。
    系统角色:
    用户和管理员

    管理员的功能:

    • 开户
      开户时,用户只需输入两次密码即可,账号通过获取当前时间生成(长度为16位)
      在这里插入图片描述
    • 注销用户的账户
      管理员输入用户账号即可删除该用户
      在这里插入图片描述
      缺点:对管理员的处理比较简单,只有一个管理员(账号:@123456,密码:123456),而且没有将管理员的信息存入文件。

    用户操作:
    默认用户的账号为123456,密码为123456,余额为10000。
    这里,我用对象序列化来储存用户的信息,所以直接打开文件会是乱码。
    用户密码的加密写得很随意,就是在原密码的最后一位再加一位0。
    在这里插入图片描述

    • 余额查询
      1
    • 存款
      在这里插入图片描述
    • 取款
      在这里插入图片描述
    • 修改密码
      在这里插入图片描述

    源码:
    代码太多,就不贴出来了。
    链接:https://pan.baidu.com/s/1P_o7N_P1NXTwMyTcG7Z-bQ
    提取码:ro6m
    说明:直接运行InitMainFrame.java即可,管理员账号@123456,密码123456;默认用户是123456,密码也是123456;若修改密码之后忘记了密码,可以先删除UserInfo.txt文档再运行InitMainFrame.java,此时登录用户的账号就是默认用户。

    展开全文
  • BAM银行账户管理系统ATM管理系统 本系统采用JAVA语言并在eclipse环境下编写测试完成涉及类的概念以及面向对象的几大特性继承封装多态抽象也有异常处理机制基本可以满足大多数BAM系统的相关实现且代码内标注大量注释...
  • Java-dos模式、银行账户管理系统论文
  • 这是一个银行账户管理系统,用户可以通过ATM终端界面来操作自己的银行账户.
  • 一个简单的java程序,一个银行账户管理系统,用MySQL做数据库,java做底层操作及窗口
  • 银行账户管理系统

    2019-01-10 11:08:42
    数据库课程设计作业,Java + SQl Server 实现银行账户管理基本操作
  • 个人银行账户管理系统实验 实验内容:将C++代码转为Java 实验总结: public,private,protect要单独写在每一个函数前面 函数体和函数声明不能分开 Java中没有运算符重载,指针等 Java提供包机制,用于区别类名的...

    个人银行账户管理系统实验
    实验内容:将C++代码转为Java
    实验总结:

    1. public,private,protect要单独写在每一个函数前面
    2. 函数体和函数声明不能分开
    3. Java中没有运算符重载,指针等
    4. Java提供包机制,用于区别类名的命名空间和更好的组织类
    5. Java的构造函数没有id(id)这样的写法,一般是this.id=id
    展开全文
  • 账户管理系统银行的atm机使用的微型管理系统模拟
  • 精选范本 精选范本 AM银行账户管理系统ATM管理系统 本系统采用JAVA语言并在eclipse环境下编写测试完成涉及类的概念以及面向对象 的几大特性继承封装多态抽象也有异常处理机制基本可以满足大多数 BAM系 统的相关实现...
  • JAVA编程-银行账户管理系统 简称BAM(项目介绍及源码)绝对精典
  • C++的银行账户管理系统分为几个章节 实验课改写了 4-8 章 下面是在改写过程中体会到了C++与Java的不同之处,对于理解Java特性和C++的不同、相同有很大作用

    C++的银行账户管理系统分为几个章节
    在这里插入图片描述
    实验课改写了 4-8 章

    下面是在改写过程中体会到了C++与Java的不同之处,对于理解Java特性和C++的不同、相同有很大作用

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 设计一个银行账户管理系统 欢迎使用银行账户管理系统 1.登录 2.注册 3.退出 请输入要执行的操作 当前用户:xxx 1.查询账户余额 2.转入 3.支出 4.查询交易记录 5.退出 请输入要执行的操作 由于是Java萌新,所以本题...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 247
精华内容 98
热门标签
关键字:

java银行账户管理系统

java 订阅