java简单atm_Java实现简单银行ATM功能
本文实例为大家分享了Java实现简单银行ATM功能的具体代码,供大家参考,具体内容如下
实现功能
1、用户需要通过输入银行卡号和密码才能进入ATM系统
2、用户可以在ATM中实现取款、存款、转账、余额查询、退出系统等功能
简单分析
1、创建User类(cardNo,identity,phone,username,password,balance(余额))
2、创建Bank类,主要实现初始化用户、用户登录、显示菜单、取款、存款、转账、余额查询、退出系统等功能。
代码实现
User.java
public class User {
private String username;
private int password;
private String cardNo;
private String identity;
private String phone;
private double blance;
public User() {
}
public User(String username, int password, String cardNo, String identity, String phone, double blance) {
this.username = username;
this.password = password;
this.cardNo = cardNo;
this.identity = identity;
this.phone = phone;
this.blance = blance;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public String getIdentity() {
return identity;
}
public void setIdentity(String identity) {
this.identity = identity;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public double getBlance() {
return blance;
}
public void setBlance(double blance) {
this.blance = blance;
}
}
Bank.java
public class Bank {
//创建用户数组
private User[] users=new User[100];
//用户个数
private int size=0;
//当前登录的用户
private User loginuser;
public Bank() {
initial();//初始化用户
}
/**
* 初始化用户
*/
public void initial(){
User user1=new User("钟爱",12346,"6226789234023434","130324192309123074","13133565435",2312313);
User user2=new User("冷冬",12354,"6226789234023567","1305472309123074","13446745675",2333);
User user3=new User("小龙",9893,"6226789234023564","13032414575467457","13145745435",255553);
User user4=new User("赵丽颖",6342,"6226789234029324","130324192647456774","13145675435",288883);
User user5=new User("徐三哥",8445,"6226789234025487","1303241923456744","1457785435",28989);
users[0]=user1;
users[1]=user2;
users[2]=user3;
users[3]=user4;
users[4]=user5;
size=5;
}
/**
* 用户登录
*/
public User login(String cardNo,int password){
for (int i = 0; i
if((users[i].getCardNo().equals(cardNo))&&(users[i].getPassword()==password)){
loginuser=users[i];
return users[i];
}
}
return null;
}
/**
* 显示菜单
*/
public void showMenus(){
Scanner input =new Scanner(System.in);
do { System.out.println("**********************************欢迎进入ATM系统*****************************************");
System.out.println("*********************1 存款 2 取钱 3 转账 4 查询余额 5 修改密码 0 退出***********************");
int choice=input.nextInt();
switch (choice){
case 1:
//取款
save();
break;
case 2:
//存钱
withdraw();
break;
case 3:
//转账
trans();
break;
case 4:
//查询余额
query();
break;
case 5:
//修改密码
revise();
break;
case 0:
//退出ATM系统
System.out.println("欢迎下次使用本系统");
return;
}
} while (true);
}
/**
* 存款操作
*/
public void save(){
System.out.println("请输入您的存款金额:");
Scanner input=new Scanner(System.in);
int money=input.nextInt();
if(loginuser!=null){
if(money>0){
loginuser.setBlance(loginuser.getBlance()+money);
System.out.println("存款成功");
System.out.println("您的当前余额为"+loginuser.getBlance());
}else{
System.out.println("输入错误!");
}
}else{
System.out.println("您还未进行账户登录");
}
}
/**
* 取款操作
*/
public void withdraw(){
Scanner input=new Scanner(System.in);
System.out.println("请输入你要取出的金额为:");
int money=input.nextInt();
if(loginuser!=null){
if(money>0&&money<=loginuser.getBlance()){
loginuser.setBlance(loginuser.getBlance()-money);
System.out.println("取款成功");
System.out.println("您的当前余额为:"+loginuser.getBlance());
}else{
System.out.println("输入错误");
}
}else{
System.out.println("您还未进行账户登录");
}
}
/**
* 转账操作
*/
public void trans(){
Scanner input=new Scanner(System.in);
System.out.println("请输入要转入账户的卡号:");
String cardNo=input.next();
User nuser=null;//对方账户
boolean IsExit=false;//判断对方账户是否存在
for (int i = 0; i
if(users[i].getCardNo().equals(cardNo)){
IsExit=true;//检索到对方账户
nuser=users[i];
}
}
if(loginuser==nuser){
System.out.println("不可以自己给自己账户进行转账");
return;
}
if(loginuser!=null){
System.out.println("请输入要转账的金额:");
int money=input.nextInt();
if(money>0&&money<=loginuser.getBlance()){
loginuser.setBlance(loginuser.getBlance()-money);
nuser.setBlance(nuser.getBlance()+money);
System.out.println("转账成功");
System.out.println("您当前余额为"+loginuser.getBlance());
System.out.println(nuser.getBlance());
}else{
System.out.println("输入错误");
}
}else{
System.out.println("请登录账户");
}
}
/**
* 查询余额
*/
public void query(){
System.out.println("您的余额为:"+loginuser.getBlance());
}
/**
* 修改密码
*/
public void revise(){
Scanner input=new Scanner(System.in);
System.out.println("请输入您的新密码");
int newpassword=input.nextInt();
for (int i = 0; i < size; i++) {
if(users[i]==loginuser){
users[i].setPassword(newpassword); //进行修改
}
}
System.out.println("密码修改成功");
}
}
BankSystem.java
public class BankSystem {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Bank bank=new Bank();
System.out.println("请输入您的卡号:");
String cardNo=input.next();
System.out.println("请输入您的密码:");
int password=input.nextInt();
User user = bank.login(cardNo, password);//用户登录
if(user!=null){
System.out.println(user.getUsername()+"登陆成功");
bank.showMenus();
}else{
System.out.println("登陆失败");
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持免费资源网。
java简单atm_Java实现简单银行ATM功能相关推荐
- atm有10000元 java_Java实现银行ATM功能示例
Java实现银行ATM功能示例 发布时间:2020-10-28 14:42:46 来源:亿速云 阅读:71 Java实现银行ATM功能示例?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原 ...
- Java实现超级简易的银行ATM机项目(详细注释版)
首先放一个客户(其实就是老师给的作业)需求的效果图 在这里先准备所需要的类 用户类:卡号 密码 真实姓名 余额 开户时间定义Account类 存储用户信息 封装属性 并提供getXXX和setXXX ...
- Java代码简单模仿银行ATM功能
1.首先要了解的是,这个ATM程序本身是一个简单,只为了完成一些ATM具备的一些方法,并非是真正完成一个ATM的全部功能和需求.(效果如下图) 1.这个下面演示的成功的功能: 2.这张图是输入错误的解 ...
- java模拟atm_Java项目实现模拟ATM机
本文实例为大家分享了Java实现模拟ATM机的具体代码,供大家参考,具体内容如下 项目名称 模拟ATM机 项目描述 简单实现ATM机功能 代码实现 测试类 public class Test { // ...
- java模拟atm_Java第一课——模拟ATM机
Java第一课--模拟ATM机 开学第一节Java课,跟之前老师强调的一样--上课简单说了两句就直接开始了考试. 总结一下第一次做Java遇到的问题: 第一个是老师一直在强调要先考虑整体的思路,先把整 ...
- JAVA小练习--实现银行ATM简单功能
银行ATM简单实现 实现功能 1,用户需要通过输入银行卡号和密码才能进入ATM系统 2,用户可以在ATM中实现取款.存款.转账.余额查询.退出系统等功能 简单分析 1,创建User类(cardNo,i ...
- 用Java程序模拟银行ATM机,实现包括存款、取款、查询、转账功能的简单应用
(1)想象现实世界中的相关操作沙及哪些实体呢?一个是储户,一个是ATM机.因 此根据面向对象中的抽象原则,可将其抽象为两个类:代表储户的账户信息类,代表银行 ATM机的ATM类.外加一个主类(负责实例 ...
- java实现简单银行ATM系统
#ATM系统 ##功能 模拟银行ATM机系统,具有注册.登录功能 用户登录后可实现以下功能: 1)存款 2)取款 3)转账 4)查询 5)退出 ##设计思路 首先,要进行ATM机操作应该具有银行卡和A ...
- 写一个简单的自动取款机c语言程序,C语言编程模仿银行ATM自动取款机功能
编程模仿银行ATM自动取款机功能,要求能实现以下功能: 1. 输入储户基本信息(既开户功能,开户成功需要打印储户基本信息): 2. 开户成功后打印欢迎界面,比如"开户成功,欢迎使用**银行自 ...
最新文章
- 独家 | 一文盘点AutoML 库(附PPT等链接)
- Linux下MySQL的字符集乱码问题总结
- Python基础教程:列表、字典、集合推导式
- 利物浦大学comp313课程第一节课
- 网络OSI和TCP/IP参考模型
- IP/TCP/UDP/RTP/RTCP 包结构图
- 基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇
- Java中重定向,转发深入理解 2021-04-26
- 厉害了,Netty 轻松实现文件上传!
- 拓端tecdat|matlab使用样条插值重采样估计INR数据研究
- Google 镜像站
- Windows 10 未安装任何音频输出设备 解决方案
- pancakeswap 开盘抢跑机器人 (附代码)
- 《嵌入式 - Lwip开发指南》第3章 移植LWIP(无系统)
- 某网友嵌入式求职经验总结
- 书论93 王宗炎《论书法》
- 帝国理工学院计算机相关,帝国理工学院计算机
- 结构化查询语言(SQL)入门
- USB TYPE-C详解
- 数码管循环显示0-F,中断函数
热门文章
- R语言lm函数拟合多元线性回归模型(无交互作用)、并诊断模型diagnostics、使用plot函数打印回归模型的Q-Q图、残差拟合图、标度-位置图、残差与杠杆关系图
- 拼多多网店排名如何提升
- 迪拜能否在2020年成为第一个区块链动力城市?
- 靠一个微信小程序挣了 10.7 万(文末赠书)
- web集群综合项目keepalived+lvs+lamp+nfs+mysql
- Sequel 使用 mysql数据库可视化
- Python + selenium 爬取淘宝网(销量,店铺名,价格等)
- 戴尔台式机bios设置u盘启动教程
- python画圣诞帽_使用Python给头像加上圣诞帽或圣诞老人小图标附源码
- JAVA程序设计:数组中的最长山脉(LeetCode:845)