「java提款机制作」javaatm取款机系统

博主:adminadmin 2023-03-21 15:53:11 372

今天给各位分享java提款机制作的知识,其中也会对javaatm取款机系统进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求Java代码 模拟简易atm机

参考了别人的代码。略作修改,已经很简单了:

InfoATM.java:

public class InfoATM {

    double money = 0;

    public InfoATM(double cash) {

        super();

        this.money = cash;

    }

    // 存款的方法

    public void save(double count) {

        money += count;

    }

    // 取款的方法

    public void draw(double count) {

        money -= count;

    }

    public double getMoney() {

        return money;

    }

    public void setMoney(double money) {

        this.money = money;

    }

    

}

TestATM.java:

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class TestATM extends JFrame {

    private static final long serialVersionUID = 2531222181184935595L;

    // 主面板pnBasic是用来装pnDate和标签文字的。

    private JPanel pnBasic;

    // 添加到主面板中的中间 pnDate面板是为了装表单的。

    private JPanel pnDate;

    // 添加到主面板中的北边 pnLabel面板是为了装欢迎词的

    private JPanel pnLabel;

    InfoATM atm = new InfoATM(0);

    public TestATM() {

        pnBasic = new JPanel();

        // 主面板pnBasic是用来装pnDate和标签文字的。

        pnDate = new JPanel(new GridLayout(2, 2));

        // pnDate面板是为了装表单的。

        pnLabel = new JPanel();

        JLabel top = new JLabel("欢迎来到中国银行!");

        pnLabel.add(top);

        // 先将数值添加在一个容器中并设置其在容器的右边,在将容器添加在网格的第一格

        JPanel jp1 = new JPanel();

        JLabel number = new JLabel("数值:");

        final JTextField box = new JTextField(5);

        jp1.add(number);

        jp1.add(box);

        JPanel jp2 = new JPanel();

        JButton create = new JButton("新建银行账户");

        jp2.add(create);

        JButton take = new JButton("取款");

        JButton in = new JButton("存款");

        pnDate.add(jp1);

        pnDate.add(jp2);

        pnDate.add(take);

        pnDate.add(in);

        // 加一句下面的就好了

        JPanel jpS = new JPanel();

        final JLabel total = new JLabel("您现在的账户余额是:0 元");

        jpS.add(total);

        pnBasic.setLayout(new BorderLayout());

        pnBasic.add(pnLabel, BorderLayout.NORTH);

        pnBasic.add(pnDate, BorderLayout.CENTER);

        pnBasic.add(jpS, BorderLayout.SOUTH);

        setContentPane(pnBasic);

        setBounds(400, 250, 500, 500);

        pack();

        setDefaultCloseOperation(DISPOSE_ON_CLOSE);

        setVisible(true);

        pack();

        in.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                if (box.getText() != null  box.getText() != "") {

                    try {

                        double count = Double.parseDouble(box.getText());

                        if (count  0) {

                            atm.save(count);

                            total.setText("您现在的账户余额是:" + atm.getMoney() + "元");

                            box.setText("");

                        }

                    } catch (Exception e1) {

                        System.out.println("您输入的数值必须是数字");

                    }

                }

            }

        });

        take.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                if (box.getText() != null  box.getText() != "") {

                    try {

                        double count = Double.parseDouble(box.getText());

                        if (count = 0  count = atm.getMoney()) {

                            atm.draw(count);

                            total.setText("您现在的账户余额是:" + atm.getMoney() + "元");

                            box.setText("");

                        } else {

                            System.out.println("你的余额不足,取款失败");

                        }

                    } catch (Exception e1) {

                        System.out.println("您输入的数值必须是数字");

                    }

                }

            }

        });

        create.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                total.setText("您现在的账户余额是:0元");

                atm.setMoney(0);

                box.setText("");

            }

        });

    }

    public static void main(String[] args) {

        new TestATM();

    }

}

java atm机代码

package arraylist;

import java.util.Scanner;

public class AtmDemo

{

public static void main(String[] args)

{

// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);

Boolean flag = true;

int times = 0;

while(flag){

times++;

if(times == 4){

System.out.println("密码错误,请取卡");

break;

}

System.out.println("请输入你的密码");

String password = sc.next();

if(password.equals("111111")){

Boolean moneyflag = true;

while(moneyflag){

System.out.println("请输入金额");

int number = sc.nextInt();

if(number = 0 number = 1000 number % 100 == 0){

System.out.println("用户取了" + number + "元。交易完成");

moneyflag = false;

}else{

System.out.println("请重新输入金额");

}

}

break;

}else{

continue;

}

}

}

}

一个用java模拟ATM机的代码且数据库为mysql,

最后一列为备注 1、 管理员表(tb_admin) 字段 类型 约束 备注 aId number(6) 主键 --管理员编号 aName varchar2(10) 唯一、非空 --管理员登陆名 aPassword varchar2(16) 非空 --管理员登陆密码 aLastDate date 非空 --上次登陆时间 aNowDate date 非空 --本次登陆时间 2、 银行卡登陆表(tb_login) 字段 类型 约束 备注 lId number(8) 主键 --登录ID lCardNumber varchar2(19) 引用银行卡信息表 卡号 lPassword number(6) 非空 银行卡密码 bIsLock char(1) 默认1 是否被锁,0表示被锁,1表示开启 lTime number(10) 初始为0 登陆次数 aLastDate date 非空 上次登陆时间 aNowDate date 非空 本次登陆时间 3、 客户详细资料表(tb_userInfo) 字段 类型 约束 备注 usId number(8) 主键 客户ID usName varchar2(10) 非空 客户姓名 usIDNumber varchar2(18) 非空 客户身份证号码 usSex char(1) 默认0 客户性别,0表示男,1表示女 usTel varchar2(11) 非空 客户电话 usAddress varchar2(50) 非空 客户地址 4、 银行支行表(tb_Branch) 字段 类型 约束 备注 bId number(3) 主键 支行ID bName varchar2(20) 唯一、非空 支行名 bAddress varchar2(100) 非空 支行地址 5、 银行卡信息表(tb_CardInfo) 字段 类型 约束 备注 bCardID number(19) 主键 卡号 bBalance number(8,2) 默认0.00 余额 bUserId number(8) 引用客户详细资料表 卡对应用户ID bBranchID number(4) 引用支行表 支行ID bDate date 默认系统时间 开户时间 6、 银行卡交易类型表(tb_TransType) 字段 类型 约束 备注 tId number(2) 主键 类型ID tType nvarchar2(6) 唯一 类型(转账、存款、取出等) 7、 银行卡个人账户存、取款记录表(tb_ Pacount) 字段 类型 约束 备注 tId number(10) 主键 交易记录流水号 tType number(2) 引用交易类型表 交易类型ID tCardID number(19) 引用银行卡信息表 交易卡号 tamount number(10) 非空 交易金额 tDate date 非空 交易时间 8、 银行卡转账等交易记录表(tb_TransInfo) 字段 类型 约束 备注 tId number(10) 主键 交易记录流水号 tType number(2) 引用交易类型表 交易类型ID tCardIDout number(19) 引用银行卡信息表 交易金额转出卡号 tCardIDIn number(19) 引用银行卡信息表 交易金额转入卡号 tamount number(10) 非空 交易金额 tDate date 非空 交易时间

java 编写ATM提款机程序问题?

public

void

land(){

int

a=0;

System.out.println("请选择操作界面:1取款,2存款,3查询,4转账,5退出");

switch(a){

case

'1'

:

get();

break;

case

'2'

:

set();

break;

case

'3'

:

query();

break;

case

'4'

:

divert();

break;

case

'5'

:

SetOut();

break;

}

这个方法里面写的有问题啊。首先没有接收输入选项的代码。另外,初始化那个a是0,下面也没有对应的处理。当然不能执行下去了。

JAVA 模拟ATM柜员机模拟程序

/**

     要求:使用字符用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:

    1、查询余额:初始余额为10000元

    2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

    3、ATM存款:不能出现负存款。

    4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

    (卡号密码余额放到文件中)

 */

public class Test {

    private static int account;

    private static int password;

    private static int money;

    private static boolean isLogin;

    static{

        account = 123456;

        password = 123456;

        money = 10000;

        isLogin = false;

    }

    //存款

    public void cun(int cunKuan){

        if(cunKuan=0){

            this.money += cunKuan;

        }else{

            System.out.println("存款不能为负!");

        }

    }

    //取款

    public void qu(int quKuan){

        if(this.money - quKuan  0){

            System.out.println("余额不足!");

            return;

        }

        

        if(isValid(quKuan)){

            this.money -= quKuan;

        }else{

            System.out.println("取款不能为负,且应为100的倍数!");

        }

    }

    //判断是否为有效的金额

    private boolean isValid(int money){

        if(money = 0  money % 100 == 0){

            return true;

        }

        return false;

    }

    

    //登陆

    public void login(){

        System.out.println("请输入账号和密码【格式为:账号/密码】");

        String login = new Scanner(System.in).next();

        if(login.equalsIgnoreCase("123456/123456")){

            this.isLogin = true;

        }else{

            System.out.println("账号或者密码错误,请重新输入!");

            login();

        }

    }

    

    //主菜单

    public void show(){

        System.out.println("[1]存款");

        System.out.println("[2]取款");

        System.out.println("[3]退出");

        System.out.println("请输入:");

        int key = new Scanner(System.in).nextInt();

        switch (key) {

        case 1:

            cun(new Scanner(System.in).nextInt());

            break;

        case 2:

            qu(new Scanner(System.in).nextInt());

            break;

        case 3:

            System.exit(0);

        default:

            break;

        }

    }

    public static void main(String[] args) {

        Test t = new Test();

        t.login();

        if(t.isLogin){

            for(;;){

                t.show();

                System.out.println("您当前的余额为:" + t.money);

            }

        }

        

    }

}

求java高手进~~在线等~~

/**

* @version 1.0

* @author Devil_Angel

* 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能.

*

*/

import java.io.*;

/*该类为实现客户信息及部分功能*/

class Account {

private String code =null; //信用卡号

private String name =null; //客户姓名

private String password=null; //客户密码

private double money =0.0; //卡里金额

/********************/

public Account(String code,String name,String password,double money)

{

this.code=code;

this.name=name;

this.password=password;

this.money=money;

}

protected String get_Code() {

return code;

}

protected String get_Name() {

return name;

}

protected String get_Password() {

return password;

}

public double get_Money() {

return money;

}

/*得到剩余的钱的数目*/

protected void set_Balance(double mon) {

money -= mon;

}

}

/**********实现具体取款机功能*********/

class ATM {

Account act;

// private String name;

// private String pwd;

public ATM() {

act=new Account("000000","Devil","123456",50000);

}

/***********欢迎界面***********/

protected void Welcome()

{

String str="---------------------------------";

System.out.print(str+"\n"+

"欢迎使用Angel模拟自动取款机程序.\n"+str+"\n");

System.out.print(" 1.取款."+"\n"+

" 2.查询信息."+"\n"+

" 3.密码设置."+"\n"+

" 4.退出系统."+"\n");

}

/**********登陆系统**********/

protected void Load_Sys() throws Exception

{

String card,pwd;

int counter=0;

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

do {

System.out.println("请输入您的信用卡号:");

card=br.readLine();

System.out.println("请输入您的密码:");

pwd=br.readLine();

if(!isRight(card,pwd))

{

System.out.println("您的卡号或密码输入有误.");

counter++;

}

else

SysOpter();

}while(counter3);

Lock_Sys();

}

/**********系统操作**********/

protected void SysOpter() throws Exception

{

int num;

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

System.out.println("请选择您要操作的项目(1-4):");

num=br.read(); //num为ASICC码转换的整数

switch(num) {

case 49: BetBalance(); break;

case 50: Inqu_Info(); break;

case 51: Set_Password(); break;

case 52: Exit_Sys(); break;

}

System.exit(1);

}

/**********信息查询**********/

protected void Inqu_Info() {

System.out.print("---------------------\n"+

act.get_Code()+"\n"+

act.get_Name()+"\n"+

act.get_Money()+"\n"+

"-----------------------");

}

/**********取款**********/

public void BetBalance() throws Exception

{

String str=null,str1;

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

do {

System.out.println("请输入您要取的数目:");

str=br.readLine();

str1=String.valueOf(act.get_Money());

if(str.compareTo(str1)0) {

System.out.println("超过已有的钱数,请重新输入您要取的数目:");

}

else {

/*操作成功*/

// act.set_Balance(str);

System.out.println("取款成功,请收好您的钱.");

Welcome();

SysOpter();

}

}while(true);

}

/**********判断卡内是否有钱**********/

protected boolean isBalance() {

if(act.get_Money()0) {

// System.out.println("对不起,您的钱数不够或卡已透支.");

return false;

}

return true;

}

/********卡号密码是否正确******/

protected boolean isRight(String card,String pwd)

{

if(act.get_Code().equals(card) act.get_Password().equals(pwd))

return true;

else

return false;

}

/**********密码修改**********/

protected void Set_Password() throws Exception

{

String pwd=null;

int counter=0;

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

do {

System.out.println("请输入旧密码:");

pwd=br.readLine();

if(act.get_Password().equals(pwd))

{

do {

System.out.println("请输入新密码:");

String pwd1=br.readLine();

System.out.println("请再次输入新密码:");

String pwd2=br.readLine();

if(!pwd1.equals(pwd2))

{

System.out.println("两次输入不一致,请再次输入.");

}

else

{

System.out.println("密码修改成功,请使用新密码.");

Welcome();

SysOpter();

}

}while(true);

}

}while(counter3);

}

/**********锁定机器**********/

protected void Lock_Sys() {

System.out.println("对不起,您的操作有误,卡已被没收.");

System.exit(1);

}

/**********结束系统**********/

protected void Exit_Sys() {

System.out.println("感谢您使用本系统,欢迎下次在来,再见!");

System.exit(1);

}

}

public class Text

{

public static void main(String[] args) throws Exception

{

ATM atm=new ATM();

atm.Welcome();

atm.Load_Sys();

// atm.Exit_Sys();

}

}

java提款机制作的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaatm取款机系统、java提款机制作的信息别忘了在本站进行查找喔。