iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现ATM银行管理系统(控制台版本)
  • 341
分享到

Java实现ATM银行管理系统(控制台版本)

2024-04-02 19:04:59 341人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录前言介绍创建抽象类Card类创建普通银行类继承Card创建普通信用卡继承Card创建普通医保卡继承CardATM主要方法业务类逻辑实现main方法测试启动类控制台打印前言介绍 最

前言介绍

最近很多同学找我帮忙做一些课程设计或web前端大作业、其中控制台项目应该是初学者必须经历的一个过程、作为java初学者这个控制台版本的模拟ATM银行管理系统十分合适、用到的技术也是最简单的JavaList集合、变量的声明、对象的创建、一些基本的while语句、switch语句、循环遍历等基础语法。一个最基础版本的控制台模拟ATM银行管理系统也就是CRUD功能、 直接上完整代码

创建抽象类Card类

abstract class Card {
	int cardId;

	public Card() {
		super();
	}
	public Card(int cardId) {
		super();
		this.cardId = cardId;
	}
	public abstract String getCardId();
	public abstract void setCardId(int cardId);

}

创建普通银行类继承Card

public class CommonCard extends Card{
	public CommonCard() {
		super();
	}
	public CommonCard(int cardId) {
		super();
		this.cardId = cardId;
	}
	@Override
	public String getCardId() {
		return "普通银行卡卡号为:"+cardId;
	}
	@Override
	public void setCardId(int cardId) {
		this.cardId = cardId;
	}

}

创建普通信用卡继承Card

package com.railway.modules.base.test;
public class CreditCard extends Card{
	public CreditCard() {
		super();
	}
	public CreditCard(int cardId) {
		super(cardId);
	}
	@Override
	public String getCardId() {
		return "信用卡卡号为:"+cardId;
	}
	@Override
	public void setCardId(int cardId) {
		this.cardId = cardId;
	}
}

创建普通医保卡继承Card

package com.railway.modules.base.test;
public class MedicalInsuranceCard extends Card{
	public MedicalInsuranceCard() {
		super();
	}
	public MedicalInsuranceCard(int cardId) {
		super(cardId);
	}
	@Override
	public String getCardId() {
		return "医保卡卡号为:"+cardId;
	}
	@Override
	public void setCardId(int cardId) {
		this.cardId = cardId;
	}

}

ATM主要方法业务类逻辑实现

package com.railway.modules.base.test;
import java.util.Scanner;
public class ATM {
	Scanner input = new Scanner(System.in);
	private User[] user=new User[100];
	User atm = new User();
	private User usr;
	private int accountId = 1;
	private Card card;

	public void Select() {

		while(true) {
			System.out.println("=======ATM管理系统=======");
			System.out.print("1.开户\n2.登录\n3.取款\n4.存款\n5.余额查询\n6.修改密码\n7.查看用户信息\n8.退出登录\n9.退出系统\n请选择需要选择的项目:");
			switch(input.nextInt()) {
				case 1:
					setAccount();	//开户
					break;
				case 2:
					usr=userLogin();	//登录
					break;
				case 3:
					drawMoney();	//取款
					break;
				case 4:
					depositMoney();	//存款
					break;
				case 5:
					showBalance();	//余额查询
					break;
				case 6:
					revisePassword();	//修改密码
					break;
				case 7:
					lookAccount();	//查看用户信息
					break;
				case 8:
					cancel();//退出登录
					break;
				case 9:
					System.out.println("=======================");
					System.out.println("欢迎下次登录该系统!");	//退出系统
					System.exit(0);
					break;
				default:
					System.out.println("=======================");
					System.out.println("输入错误!请重新输入!");
					break;
			}
		}
	}


	public void setAccount(){	//开户
		if (usr!=null) {
			System.out.println("=======================");
			System.out.println("请先退出上一个账户!");
		}
		else{
			boolean x = true;
			while(x) {
				System.out.println("=======================");
				System.out.print("1.普通银行卡\n2.信用卡\n3.医保卡\n0.返回\n请选择开户类型:");
				switch(input.nextInt()) {
					case 1:
						card = new CommonCard();
						card.setCardId(accountId);
						x=false;
						break;
					case 2:
						card = new CreditCard();
						card.setCardId(accountId);
						x=false;
						break;
					case 3:
						card = new MedicalInsuranceCard();
						card.setCardId(accountId);
						x=false;
						break;
					case 0:
						Select();
					default:
						System.out.println("=======================");
						System.out.println("输入错误!请重新输入!");
						break;
				}
			}

			System.out.print("请输入姓名:");
			String name=input.next();
			System.out.print("请输入性别:");
			String sex=input.next();
			System.out.print("请输入年龄:");
			String age=input.next();
			System.out.print("请输入身份证号:");
			String ID=input.next();
			System.out.print("请输入银行卡要设置的密码:");
			String passWord1=input.next();
			System.out.print("请再次输入密码:");
			String password2=input.next();
			if(password1.equals(password2)){
				user[accountId]=new User(name,sex,age,password1,ID,0,card);
				System.out.println("=======================");
				System.out.println("开户成功!你的卡号为:"+accountId);
				accountId++;
			}
			else {
				System.out.println("=======================");
				System.out.println("两次密码不同!请重新开始!");
			}
		}

	}

	public User userLogin(){	//登录
		if (usr!=null) {
			System.out.println("=======================");
			System.out.println("请先退出上一个账户!");
			return usr;
		}
		else{
			System.out.print("请输入卡号:");
			int aId=input.nextInt();
			System.out.print("请输入密码:");
			String password=input.next();
			for(int i=0;i<user.length;i++){
				if (user[i]!=null) {
					if (aId==user[i].getCard()&&password.equals(user[i].getPassword())) {
						System.out.println("=======================");
						System.out.println(user[i].getName()+",欢迎登录!");
						return user[i];
					}
				}
			}
			System.out.println("=======================");
			System.out.println("卡号或密码有误");
			return null;
		}
	}


	public void drawMoney(){	//取款
		if(usr==null){
			System.out.println("=======================");
			System.out.println("请先登录账户!");
		}
		else{
			System.out.print("请输入取款金额:");
			double blc=input.nextDouble();
			while(blc>usr.getBalance()) {
				System.out.println("=======================");
				System.out.print("取款金额大于余额,请重新输入取款金额:");
				blc=input.nextDouble();
			}
			while(blc<=0){
				System.out.println("=======================");
				System.out.print("取款金额错误,请重新输入取款金额:");
				blc=input.nextDouble();
			}
			usr.setBalance(usr.getBalance()-blc);
			System.out.println("=======================");
			System.out.println("取款成功!");
			System.out.println("账户余额:"+usr.getBalance());

		}
	}

	public void depositMoney(){	//存款
		if(usr==null){
			System.out.println("=======================");
			System.out.println("请先登录账户!");
		}
		else{
			System.out.print("请输入存款金额:");
			double dsm=input.nextDouble();
			while(dsm<=0){
				System.out.println("=======================");
				System.out.print("输入金额错误,请重新输入:");
				dsm=input.nextDouble();
			}
			usr.setBalance(usr.getBalance()+dsm);
			System.out.println("=======================");
			System.out.println("存款成功!");
			System.out.println("账户余额:"+usr.getBalance());
		}
	}

	public void showBalance(){	//余额查询
		if(usr==null){
			System.out.println("=======================");
			System.out.println("请先登录账户!");
		}
		else{
			System.out.println("=======================");
			System.out.println("账户余额:"+usr.getBalance());
		}
	}

	public void revisePassword(){	//修改密码
		if(usr==null){
			System.out.println("=======================");
			System.out.println("请先登录账户!");
		}
		else{
			System.out.print("请输入原密码:");
			String password=input.next();
			for(int i=2;i>=0;i--) {
				if(password.equals(usr.getPassword()))
					break;
				if(i==0) {
					System.out.println("三次密码输入错误!即将退出账户!");
					cancel();
					Select();
				}
				System.out.println("密码错误!你还有"+i+"次机会!");
				System.out.print("请输入原密码:");
				password=input.next();
			}
			System.out.print("验证成功,请输入新密码:");
			String password1=input.next();
			System.out.print("请再次输入密码:");
			String password2=input.next();
			while(!password1.equals(password2)) {
				System.out.println("=======================");
				System.out.print("两次密码不同,请重新输入新密码:");
				password1=input.next();
				System.out.print("请再次输入密码:");
				password2=input.next();
			}
			usr.setPassword(password1);
			System.out.println("=======================");
			System.out.println("修改成功!");
		}
	}

	public void lookAccount() {	//查看用户信息
		if(usr==null){
			System.out.println("=======================");
			System.out.println("请先登录账户!");
		}
		else{
			System.out.println("=======================");
			System.out.println("姓名:"+usr.getName());
			System.out.println("性别:"+usr.getSex());
			System.out.println(usr.getCardId());
			System.out.println("身份证号:"+usr.getID());
			System.out.println("余额:"+usr.getBalance());
		}
	}

	public void cancel() {
		if(usr==null){
			System.out.println("=======================");
			System.out.println("请先登录账户!");
		}
		else{
			usr=null;
			System.out.println("=======================");
			System.out.println("账户退出成功!");
		}
	}
}

main方法测试启动类

public class TestATM {
	public static void main(String[] args) {
		ATM atm = new ATM();
		atm.Select();
	}
}

控制台打印

=======ATM管理系统=======
1.开户
2.登录
3.取款
4.存款
5.余额查询
6.修改密码
7.查看用户信息
8.退出登录
9.退出系统
请选择需要选择的项目:1
=======================
1.普通银行卡
2.信用卡
3.医保卡
0.返回
请选择开户类型:1
请输入姓名:admin
请输入性别:男
请输入年龄:22
请输入身份证号:513922199555555555
请输入银行卡要设置的密码:123456
请再次输入密码:123456
=======================
开户成功!你的卡号为:1
=======ATM管理系统=======
1.开户
2.登录
3.取款
4.存款
5.余额查询
6.修改密码
7.查看用户信息
8.退出登录
9.退出系统
请选择需要选择的项目:
2
请输入卡号:1
请输入密码:123456
=======================
admin,欢迎登录!
=======ATM管理系统=======
1.开户
2.登录
3.取款
4.存款
5.余额查询
6.修改密码
7.查看用户信息
8.退出登录
9.退出系统
请选择需要选择的项目:

以上就是Java实现ATM银行管理系统(控制台版本)的详细内容,更多关于Java银行管理系统的资料请关注编程网其它相关文章!

--结束END--

本文标题: Java实现ATM银行管理系统(控制台版本)

本文链接: https://www.lsjlt.com/news/151146.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现ATM银行管理系统(控制台版本)
    目录前言介绍创建抽象类Card类创建普通银行类继承Card创建普通信用卡继承Card创建普通医保卡继承CardATM主要方法业务类逻辑实现main方法测试启动类控制台打印前言介绍 最...
    99+
    2024-04-02
  • Java如何实现ATM银行管理系统控制台版本
    这篇文章主要讲解了“Java如何实现ATM银行管理系统控制台版本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java如何实现ATM银行管理系统控制台版本”吧!创建抽象类Card类abstr...
    99+
    2023-07-02
  • java实现银行ATM管理系统
    本文实例为大家分享了java实现银行ATM管理系统的具体代码,供大家参考,具体内容如下 功能 账户类、首页设计 分析 ① 每个用户一个账户对象,需要设计账户类,账户类至少包含(卡号、...
    99+
    2024-04-02
  • Java实现简单控制台版ATM系统
    本文实例为大家分享了Java实现简单控制台版ATM系统的具体代码,供大家参考,具体内容如下 ATM系统项目 ATM系统要实现的功能 1.查询:账号必须存在,密码(三次机会,不对就锁卡...
    99+
    2024-04-02
  • Java实现学生管理系统(控制台版本)
    目录前言介绍创建学生类Student main方法实现CRUD查询方法添加方法删除方法修改方法控制台打印前言介绍 最近很多同学找我帮忙做一些课程设计或Web前端大作业、其中...
    99+
    2024-04-02
  • Java如何实现简单控制台版ATM系统
    本篇内容主要讲解“Java如何实现简单控制台版ATM系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java如何实现简单控制台版ATM系统”吧!ATM系统项目ATM系统要实现的功能查询:账号必...
    99+
    2023-06-30
  • Java如何实现学生管理系统控制台版本
    本篇内容介绍了“Java如何实现学生管理系统控制台版本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建学生类Student pu...
    99+
    2023-07-02
  • java实现简单银行ATM系统
    本文实例为大家分享了java实现简单银行ATM系统的具体代码,供大家参考,具体内容如下 #ATM系统 ##功能 模拟银行ATM机系统,具有注册、登录功能用户登录后可实现以下功能:1)...
    99+
    2024-04-02
  • Java简单实现银行ATM系统
    本文实例为大家分享了Java实现银行ATM系统的具体代码,供大家参考,具体内容如下 实现步骤: 定义账户类,用于后期创建账户对象封装用户的账户信息。 账户类中的信息至少需要包含(卡号...
    99+
    2024-04-02
  • Java实现基础银行ATM系统
    目录一、前言二、使用步骤三、运行效果图:本文实例为大家分享了Java实现银行ATM系统的具体代码,供大家参考,具体内容如下 一、前言 银行ATM系列简单操作 二、使用步骤 1.创建...
    99+
    2024-04-02
  • Java基于控制台界面实现ATM系统
    本文实例为大家分享了Java实现ATM系统的具体代码,供大家参考,具体内容如下 这应该算最基础的Javase项目了,但其中逻辑还是得想想的。 功能还算完善,只是对输入数据的校验没做全...
    99+
    2024-04-02
  • java如何实现简单银行ATM系统
    这篇文章主要介绍了java如何实现简单银行ATM系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java如何实现简单银行ATM系统文章都会有所收获,下面我们一起来看看吧。#ATM系统##功能模拟银行ATM机系...
    99+
    2023-06-30
  • java控制台实现学生信息管理系统(IO版)
    使用java语言用本地文件存储数据实现学生信息管理系统,在控制台上编译执行,也就是学生管理系统IO版 可以实现基本的学生信息增加、删除、修改、查询功能(细化了查询功能) 集合版可以...
    99+
    2024-04-02
  • java控制台实现学生管理系统
    本文实例为大家分享了java控制台实现学生管理系统的具体代码,供大家参考,具体内容如下 编写一个学生成绩管理程序。学生的属性包括学号、姓名、年龄等。每个学生要学习若干课程,每门课程有...
    99+
    2024-04-02
  • java控制台实现学生信息管理系统(集合版)
    使用java语言用集合存储数据实现学生信息管理系统,在控制台上编译执行 可以实现基本的学生信息增加、删除、修改、查询功能 IO版可以参考我的另外一篇博文。 运行界面如下 欢迎界面 ...
    99+
    2024-04-02
  • Java实现银行账户管理子系统
    本文实例为大家分享了Java实现银行账户管理子系统的具体代码,供大家参考,具体内容如下 所用到的知识点:面向对象基础语法,封装,方法覆盖(重写)、继承、多态 话不多说,直接上代码 A...
    99+
    2024-04-02
  • java控制台实现学生信息管理系统
    简介 最近学了java基础后对以前不会写的作业深有感触,想起以前各种在网上找资料找别人的代码参考,所以今天特地写了了简单的基于控制台的学生信息管理系统供还在学基础的同学参考,写的有问...
    99+
    2024-04-02
  • java实现ATM机系统(2.0版)
    java实现银行ATM自助取款机,实现功能:用户登录、余额查询、存钱、取钱、转账、修改密码、退出系统。 用java实现一个ATM机系统(2.0版) 设计思路 设计五个类包括测试类: ...
    99+
    2024-04-02
  • 基于python实现银行管理系统
    目录一、python银行管理系统二、分析部分三、代码部分一、python银行管理系统 二、分析部分 三、代码部分 import random class bankU...
    99+
    2024-04-02
  • Java如何实现银行账户管理子系统
    本文小编为大家详细介绍“Java如何实现银行账户管理子系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现银行账户管理子系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。所用到的知识点:面向对象基...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作