ATM

package xxxxxx;

import java.io.FileReader;
import java.io.FileWriter;
import java.util.Properties;

import javax.swing.JOptionPane;

public class ATM {
public Properties pro = new Properties();

public static void main(String[] args) {
ATM a = new ATM();

}

public ATM() {
try {
pro.load(new FileReader("atm.txt"));
} catch (Exception e) {
System.out.println("文件没找到");
}
JOptionPane.showMessageDialog(null, "欢迎使用XXX银行");
boolean island = denglu();
if (island == false) {
JOptionPane.showMessageDialog(null, "非法用户");
System.exit(0);
}
while (true) {
String a = JOptionPane.showInputDialog(null, "1.存款\n2.取款\n3.查询余额\n4.修改密码\n5.退出");
int str = Integer.parseInt(a);
switch (str) {
case 1:
saveMoney();
break;
case 2:
getMoney();
break;
case 3:
shouMoney();
break;
case 4:
update();
break;
case 5:
JOptionPane.showMessageDialog(null, "请收好您的卡片");
System.exit(0);
break;
}
}

}

/** 修改密码 */
public void update() {
String s = JOptionPane.showInputDialog(null, "请输入旧密码");
if (s.equals(pro.getProperty("pwd"))) {
String a = JOptionPane.showInputDialog(null, "请输入新密码");
String b = JOptionPane.showInputDialog(null, "请再次输入新密码");
if (a.equals(b)) {
pro.setProperty("pwd", b + "");
set();
JOptionPane.showMessageDialog(null, "密码修改成功");
return;

}
JOptionPane.showMessageDialog(null, "两次密码不正确");
return;
}
JOptionPane.showMessageDialog(null, "旧密码错误");
return;
}

/** 余额查询 */
public void shouMoney() {
JOptionPane.showMessageDialog(null, pro.getProperty("money"));
}

/** 取款 */
public void getMoney() {
String a = JOptionPane.showInputDialog(null, "请输入要取款的金额");
int s = Integer.parseInt(a);
int money = Integer.parseInt(pro.getProperty("money"));
if (s > money) {
JOptionPane.showMessageDialog(null, "余额不足");
return;
}
money -= s;
pro.setProperty("money", money + "");
set();
JOptionPane.showMessageDialog(null, "存款成功,现在余额为" + pro.getProperty("money"));

}

/** 存款 */
public void saveMoney() {
String a = JOptionPane.showInputDialog(null, "请输入存款金额");
// 存款金额
int s = Integer.parseInt(a);
// 卡里面的钱
int money = Integer.parseInt(pro.getProperty("money"));
// 存款以后的钱
money += s;
pro.setProperty("money", money + "");
set();
JOptionPane.showMessageDialog(null, "取款成功,现在余额为" + pro.getProperty("money"));
}

// 替换
public void set() {
try {
pro.store(new FileWriter("atm.txt"), null);
} catch (Exception e) {
System.out.println("文件没找到");
}
}

/** 登录 */
public boolean denglu() {
for (int i = 0; i < 3; i++) {
String s = JOptionPane.showInputDialog(null, "请输入账号");
String m = JOptionPane.showInputDialog(null, "请输入密码");
if (s.equals(pro.getProperty("name")) && m.equals(pro.getProperty("pwd"))) {
return true;
}
JOptionPane.showMessageDialog(null, "账号或密码错误,请重新输入");
}

return false;
}

}

时间: 2024-09-29 09:13:29

ATM的相关文章

异步传输ATM

ATM是一种传输模式,在这一模式中,信息被组织成信元,因包含来自某用户信息的各个信元不需要周期性出现,这种传输模式是异步的. ATM是网络新技术,它采用基于信元的异步传输模式和虚电路结构,根本上解决了多媒体的实时性及带宽问题.实现面向虚链路的点到点传输,它通常提供155Mbps的带宽.它既汲取了话务通讯中电路交换的“有连接”服务和服务质量保证,又保持了以太.FDDI等传统网络中带宽可变.适于突发性传输的灵活性,从而成为迄今为止适用范围最广.技术最先进.传输效果最理想的网络互联手段. 1.ATM的

一个简单的ATM程序

目前实现的功能不多,目前具有的功能,用户的登录,转账,提现,查看余额.并用装饰器检测在各个接口用户是否有登录. 好了,上代码. 这是各个文件 ==========>atm.py#Auther: He Jianhanimport os,sysroutes = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.append(routes) from core import main#调入主运行文件并执行main.r

bzoj 1179: [Apio2009]Atm

Description Input 第 一行包含两个整数N.M.N表示路口的个数,M表示道路条数.接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路 的起点和终点的路口编号.接下来N行,每行一个整数,按顺序表示每个路口处的ATM机中的钱数.接下来一行包含两个整数S.P,S表示市中心的编号,也就 是出发的路口.P表示酒吧数目.接下来的一行中有P个整数,表示P个有酒吧的路口的编号 Output 输出一个整数,表示Banditji从市中心开始到某个酒吧结束所能抢劫的

(我是初学者)继续ATM

还是ATM界面. 当登录成功后,我们要进行相应的操作,而且只操作视为农耕路用户的相关信息,但是不只一个用户,那么怎么保证每次都是正确的用户呢? 一部分同学,是新建了一个文本,在登录成功后,把相应用户的所有信息提取出来了,保存到新文本中,然后后面的操作,读取新文本,每次操作结束,都对两个文档进行保留. 而还有一部分,这是直接把用户账号作为参数,直接传参,每次操作的时候通过账号来读取相关信息. 两种方式,不知道那种更为合适,也不知道,是否有更合适的方法,如有大牛点评,不胜感激.

使用流程控制语句写 ATM

使用流程控制语句写   ATM     let username = "z", password = "1", account = 10000, isLogin = false; while (!isLogin) { let usernameInput = window.prompt("请输入用户名:"); let passwordInput = window.prompt("请输入密码:"); console.log(use

日元兑换——国内兑换需要护照和签证,国外的机场有兑换ATM

在中国换日元:在中国的商业银行都可以换取日元,但是换汇者必须持有护照.签证等材料.换汇的汇率是按照即时汇率进行结算,如是现钞则按钞买价兑换,另外还要收取0.5%的手续费. 在日本换日元:除了在日本银行或者其它的外币兑换处外,主要国际机场也有为旅客提供货币兑换服务的外汇兑换窗口.此外,还可以在日本全国各地银行.邮局中设置的ATM机上使用VISA.MasterCard.AMEX.DINERS等信用卡提取现金.外汇兑换率随外汇市场行情的波动每天都有变动.在日本,每人每次限定兑换金额为6000元人民币(

简易ATM系统练习

执行简单的ATM功能:主要练习JavaOO参考了阿里巴巴java内部规范,希望自己所书写的程序能够更加的规范性: package com.lovo.ATM.bean; import java.util.Scanner; /** * ATM系统类 * @author 侯熙 * @version 1.1 * @since jdk1.8.0_25 */ public class ATM { private UserInfo[] users; private UserInfo user; private

Python学习day5作业-ATM和购物商城

Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 购物车: 商品信息- 数量.单价.名称 用户信息- 帐号.密码.余额 用户可充值 购物历史信息 允许用户多次购买,每次可购买多件 余额不足时进行提醒 用户退出时 ,输出当次购物信息 用户下次登陆时可查看购物历史 商品列表分级显示 1

JAVA - ATM机程序

ATM机程序 UnionPayTest.java package oo.day06.work; public class UnionPayTest { } interface UnionPay{ //银联接口 public double getBalance(); //查询余额 public boolean drawMoney(double number); //取款 public boolean checkPwd(String input); //检查密码 } interface ABC ex

python之ATM

每次做一点就发出来,大神不要嫌重复 2016/11/4 今天来搞ATM,反正逃不了的,说来惭愧,这个作业是我10/4号20天前拿到的,当时是万脸蒙比的,今天又做了一点,现在算是百脸蒙比吧. 一.需求:模拟实现一个ATM + 购物商城程序 额度 15000或自定义  实现购物商城,买东西加入 购物车,调用信用卡接口结账   其实是两套单独程序 可以提现,手续费5%  提现不能超过总余额一半    每月22号出账单,每月10号为还款日,过期未还,按欠款总额 万分之5 每日计息 支持多账户登录,每个用