java实现银行管理系统

该博客介绍了如何使用Java编程实现一个简单的银行系统,包括用户类(User)和银行类(Bank)的设计。用户类包含基本的用户信息如身份证号、用户名、密码、手机号和余额等属性及相应的方法。银行类则实现了用户初始化、登录、存款、取款、转账、余额查询、修改密码等功能。通过TestBank测试类运行整个系统。
摘要由CSDN通过智能技术生成

首先,分为以下几类

先看包类层架构

效果如下:

 接下来上代码

 User.java

package day;

public class User {
	private String cardNo; 
	//身份证号 
	private String identity;
	//用户名 
	private String username; 
	//密码
	private String password; 
	//手机号
	private String phone; 
	//余额 
	private double balance;
	public User(String cardNo, String identity, String username, String password, String phone, double balance) {
		super();
		this.setCardNo(cardNo);
		this.setIdentity(identity);
		this.setUsername(username);
		this.setPassword(password);
		this.setPhone(phone);
		this.setBalance(balance);
	}
	public User() {
		
	}
	public String getCardNo() {
		return cardNo;
	}
	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getIdentity() {
		return identity;
	}
	public void setIdentity(String identity) {
		this.identity = identity;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public double getBalance() {
		return balance;
	}
	public void setBalance(double balance) {
		this.balance = balance;
	}
	

}

Bank.java

package day;
import java.util.Scanner;
	public class Bank {
		// private 私有的 
		//属性  保存用户的数组---对多容纳5位用户
		private User[] users = new User[5];
		//保存个数
		
		private int size;
		//1.初始化用户
		public void initial(){
			//创建用户1
			User user1 = new User();
			user1.setCardNo("11111");
			user1.setIdentity("11111");
			user1.setUsername("张三");
			user1.setPassword("11111");
			user1.setPhone("110");
			user1.setBalance(100);
			
			//用户2
			User user2 = new User("22222","22222","李四","22222","119",200);
			//把用户放到数组里
			users[0] = user1;
			users[1] = user2;
			size = 2;
			System.out.println("用户初始化完成!");
			
			
		}
		
		//2.用户登录
		public void login(){
			
			//输入流
			Scanner input = new Scanner(System.in);
			System.out.println("请输入卡号");
			String cardNo = input.next();
			System.out.println("请输入密码");
			String password = input.next();
			//数组遍历
			User u = null;
			for(int i =0;i <size;i++){
				if(users[i].getCardNo().equals(cardNo)&&users[i].getPassword().equals(password)){
					u = users[i];
					break;
				}
			}
			if(u!=null){
				//账号和密码成功----登录成功
				System.out.println("登录成功");
				
				showMenu(u);
				
			}else{
				
				System.out.println("卡号或密码错误");
			}
			
		}
		
		//3.显示菜单
		public void showMenu(User u){
			Scanner input = new Scanner(System.in);
			System.out.println("=============欢迎来到**银行系统=============");
			do{
				System.out.println("=======1.存款  2.取款  3.转账  4.余额查询  5.修改密码  0.退出=====");
				int choice = input.nextInt();
				switch(choice){
					case 1:
						//对应执行的代码
						this.save(u);
						break;
					case 2:
						this.withDraw(u);
						break;
					case 3:
						this.trans(u);
						break;
					case 4:
						this.query(u);
						break;
					case 5:
						this.modifyPassword(u);
						break;
					case 0:
						this.exit(u);
					break;
					default:
						break;
				}
				
			}while(true);
		}
		
		//4.存款
		public void save(User u){
			Scanner input = new Scanner(System.in);
			System.out.println("请输入存款金额");
			double m =input.nextDouble();
			if(m>0){
				u.setBalance(u.getBalance()+m);
				System.out.println("存款成功:余额"+u.getBalance());
			}else{
				System.out.println("存钱失败,请重新输入....");
			}
		}
		
		//5.取钱
		public void withDraw(User u){
			Scanner input = new Scanner(System.in);
			System.out.println("请输入取款金额");
			double m =input.nextDouble();
			if(m>0){
				if(u.getBalance()>=m){
					u.setBalance(u.getBalance()-m);
					System.out.println("取钱成功:余额"+u.getBalance());
				}else{
					System.out.println("余额不足...");
				}
			}else{
				System.out.println("取钱失败,请重新输入:");
			}
		}
		
		//6.转账
		public void trans(User u){
			Scanner input = new Scanner(System.in);
			System.out.println("请输入对方的卡号:");
			String cardNo = input.next();
			System.out.println("请输入转账金额:");
			double m = input.nextDouble();
			
			//判断对方卡号是否存在
			User touser = null;
			for(int i = 0;i<size;i++){
				if(users[i].getCardNo().equals(cardNo)){
					touser = users[i];
					break;
				}
			}
			
			//判断
			if(touser!=null){//存在对方的卡号
				//转账----扣钱
				u.setBalance(u.getBalance()-m);
				//加钱
				touser.setBalance(touser.getBalance()+m);
				System.out.println("转账成功......");
			}else{
				System.out.println("对方卡号不存在,请重新输入");
			}
		}
		
		
		//7.余额查询
		public void query(User u){
			System.out.println("卡号:"+u.getCardNo()+"用户名"+u.getUsername()+"余额"+u.getBalance());
		}
		
		
		//8.修改密码
		public void modifyPassword(User u){
			Scanner input=new Scanner(System.in);
			System.out.println("请输入您要修改的密码:");
			
					u.setPassword(input.next());
              
					
						
			System.out.println("修改成功,当前密码为:"+u.getPassword()+",为了安全,请妥善保管,谢谢");
					
					System.out.println("提示:密码已被修改,请重新登陆!");
					System.exit(0);
		   
		}
		
			
		public void exit(User u)
		{
			System.out.println("谢谢您的使用!");
		}

	}

	

TestBank.java

package day;
public class TestBank {
public static void main(String[] args) {
	Bank bank=new Bank();
	bank.initial();
	bank.login();

}
}

最终运行。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i want to舞动乾坤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值