如何用java实现注册和登陆atm机多账户登陆

君,已阅读到文档的结尾了呢~~
ATM自动取款机 JAVA代码实现实现,取款,取,JAVA,java,ATM,取款机,Java,ATM自动,源代码
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
ATM自动取款机 JAVA代码实现
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口java编写简单的ATM存取系统
投稿:hebedich
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了java编写简单的ATM存取系统,附上思路和具体实现代码,适合新人练手用,推荐给小伙伴们。
新手练手必备~
密码账户为:
先创建账户类:
package cn.A
* @author 偶my耶
import java.io.*;
import com.project.
public class Account {
& private String number=
& private String name=
& private String password=
& private double money=0.0;
& public Account(String number,String name,String password,double money){
&&&&& this.number=
&&&&& this.name=
&&&&& this.password=
&&&&& this.money=
& public String getNumber() {
& public void setNumber(String number) {
&&&&& this.number =
& public String getName() {
& public void setName(String name) {
&&&&& this.name =
& public String getPassword() {
& public void setPassword(String password) {
&&&&& this.password =
& public double getMoney() {
& public void setMoney(double money) {
&&&&& this.money =
& protected void& sub_Balance(double mon) {
&&&&& money-=&&&
& protected void add_Balancen(double mon) {
&&&&& money+=&&&
然后建立操作类:
里面包含各种操作方法:
package cn.A
&* @author 偶my耶
import java.io.*;
import com.project.
public class ATM {
&&& public ATM(){
&&& act=new Account("0000", "test", "0000", 2000);
&&& /*************欢迎界面*********************/
&&& protected void Welcome(){
&&&&&&& String str="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
&&&&&&& System.out.print(str+"\n");
&&&&&&& System.out.print(
&&&&&&&&&&&&&&& "1.取款"+"\n"+
&&&&&&&&&&&&&&& "2.查询"+"\n"+
&&&&&&&&&&&&&&& "3.存款"+"\n"+
&&&&&&&&&&&&&&& "4.退出"+"\n"
&&&&&&&&&&&&&&& );
&&& System.out.print(str+"\n");
&&& /************登陆系统********************/
&&& protected void Load_Sys() throws Exception{
&&&&&&& String card,
&&&&&&& 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 {
&&&&&&&&&&&&&&& Welcome();
&&&&&&&&&&&&&&& SysOpter();
&&&&&&&&&&& }
&&&&&&& }while(counter&5);
&&&&&&& System.exit(1);
&&& /**********系统操作提示******************/
&&& protected void SysOpter() throws Exception {
&&&&&&& BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
&&&&&&& System.out.println("请选择你要操作的项目(1--4)");
&&&&&&& num=br.read();
&&&&&&& switch (num) {
&&&&&&& case 49:
&&&&&&&&&&& GetBalance();
&&&&&&&&&&&
&&&&&&& case 50:
&&&&&&&&&&& Inqu_Iofo();
&&&&&&&&&&&
&&&&&&& case 51:
&&&&&&&&&&& AddBalance();
&&&&&&&&&&&
&&&&&&& case 52:
&&&&&&&&&&& Exit_Sys();
&&&&&&&&&&&
&&& /**********信息查询*******************/
&&& protected void Inqu_Iofo() throws Exception{
&&&&&&& // TODO Auto-generated method stub
&&&&&&& String str="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
&&&&&&& System.out.print(str+"\n");
&&&&&&& System.out.print(
&&&&&&&&&&&&&&& "账号"+act.getNumber()+"\n"+
&&&&&&&&&&&&&&& "姓名"+act.getName()+"\n"+
&&&&&&&&&&&&&&& "余额"+act.getMoney()+"\n"+
&&&&&&&&&&&&&&& str+"\n"
&&&&&&&&&&&&&&& );
&&& SysOpter();
&&& /**********存款******************/
&&& public void AddBalance() throws Exception{
&&&&&&& // TODO Auto-generated method stub
&&&&&&& String str=null,str1;
&&&&&&& BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
&&&&&&& do {
&&&&&&&&&&& System.out.println("请输入存款数目");
&&&&&&&&&&& str=br.readLine();
&&&&&&&&&&& double qu=Double.valueOf(str).doubleValue();
&&&&&&&&&&& act.add_Balancen(qu);
&&&&&&&&&&& System.out.println("存款成功,你的账户余额为"+act.getMoney());
&&&&&&&&&&& Welcome();
&&&&&&&&&&& SysOpter();
&&&&&&& } while (true);
&&& /**********取款********************/
&&& public void GetBalance() throws Exception{
&&&&&&& // TODO Auto-generated method stub
&&&&&&& String str=null,str1;
&&&&&&& BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
&&&&&&& do {
&&&&&&&&&&& System.out.println("请输入取款数目");
&&&&&&&&&&& str=br.readLine();
&&&&&&&&&&& double qu=Double.valueOf(str).doubleValue();
&&&&&&&&&&& if(qu&act.getMoney()){
&&&&&&&&&&&&&&& System.out.println("余额不足请重新输入");
&&&&&&&&&&& }
&&&&&&&&&&& else {
&&&&&&&&&&&&&&& act.sub_Balance(qu);
&&&&&&&&&&&&&&& System.out.println("取款成功你的账户余额未"+act.getMoney());
&&&&&&&&&&&&&&& Welcome();
&&&&&&&&&&&&&&& SysOpter();
&&&&&&&&&&& }
&&&&&&& } while (true);
&&& /*********退出******************/
&&& protected void Exit_Sys () {
&&&&&&& // TODO Auto-generated method stub
&&&&&&& System.out.println("安全退出!");
&&&&&&& System.exit(1);
&&& /**********卡号和密码是否正确********************/
&&& protected boolean isRight (String card, String pwd) {
&&&&&&& // TODO Auto-generated method stub
&&&&&&& if (act.getNumber().equals(card)&&act.getPassword().equals(pwd)) {
&&&&&&&&&&&
&&&&&&& } else {
&&&&&&&&&&&
&&& public static void main(String[] args) throws Exception {
&&&&&&& ATM atm=new ATM();
//&&&&&&& atm.Welcome();
&&&&&&& atm.Load_Sys();
代码仅供参考
运行结果如下
好了,小伙伴们可以自己做个ATM机了^_^
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具本文讲的是java 使用线程做的一个简单的ATM存取款实例代码_java,
实现Runnable接口。当一个线程已继承了另一个类时,就只能用实现Runnable接口的方法来创建线程,且便于保持程序风格的一致性。
我们知道,一个具有生命的线程,具有下面五种状态:
使用new运算符创建一个线程后,该线程仅仅
实现Runnable接口。当一个线程已继承了另一个类时,就只能用实现Runnable接口的方法来创建线程,且便于保持程序风格的一致性。
我们知道,一个具有生命的线程,具有下面五种状态:
使用new运算符创建一个线程后,该线程仅仅是一个空对象,系统没有分配资源,称该线程处于创建状态(new thread)
可运行状态
使用start()方法启动一个线程后,系统为该线程分配了除CPU外的所需资源,使该线程处于可运行状态(Runnable)
运行中状态
Java运行系统通过调度选中一个Runnable的线程,使其占有CPU并转为运行中状态(Running)。此时,系统真正执行线程的run()方法。
一个正在运行的线程因某种原因不能继续运行时,进入阻塞状态(Blocked)
线程结束后是死亡状态(Dead)
废话不多说,下面直接上代码:
复制代码 代码如下:
package pack.java.thread.
* @author Administrator
public class Account {
//账户余额;
* 存入金额;
* @param monery
public void putMonery(int monery){
this.value = this.value +
* 取出金额;
* @param monery
* @return 金额;
public int getMonery(int monery){
//判断是否账户余额是否大于 要取出的钱;
if(this.value & monery ){
this.value = this.value -
monery = this.
//账户余额不够时,则取出,所有的账户余额的金额.
this.value = 0;
//返回取出的钱;
* 查询余额;
* @return 返回账户余额;
public int search(){
return this.
public String getName() {
public void setName(String name) {
this.name =
public int getValue() {
public void setValue(int value) {
this.value =
复制代码 代码如下:
import java.io.S
* 取款线程类;
* @author Administrator
public class FetchMoney extends Thread implements Serializable{
private static final long serialVersionUID = -8445815L;
//账户对象;
public FetchMoney(){
public FetchMoney(int monery,Account account){
this.account =
this.monery =
public void run() {
// TODO Auto-generated method stub
int currMonery
= account.search();
//当前余额;
synchronized (account) {
//取款发费的时间;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//取出余额;
int getMonery = account.getMonery(monery);
System.out.println("尊敬的"+account.getName()+"用户您好!"+"当前的余额为:"+currMonery +"元."+"取出余额为:"+getMonery+"元."+"账户余额为:"+account.search()+"元");
复制代码 代码如下:
* 存款线程类;
* @author Administrator
public class SaveMoney extends Thread implements Serializable{
private static final long serialVersionUID = 0212724L;
//账户对象;
public SaveMoney(){
public SaveMoney(int money,Account account){
this.account =
this.money =
public void run() {
// TODO Auto-generated method stub
int currMonery = account.search(); //查询账户余额;
//同步对象,只允许单线程操作;
synchronized (account) {
//查询的时候,发费得时间;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
account.putMonery(this.money);
//插入金额;
//输出存款信息;
System.out.println("尊敬的"+account.getName()+"用户您好!"+"当前的余额为:"+currMonery +"元."+"存入余额为:"+this.money+"元."+"账户余额为:"+account.search()+"元");
复制代码 代码如下:
* ATM测试类;
* @author Administrator
public class ThreadATMDemo {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
Account account = new Account();
//设置用户名;
account.setName("ZhouHaiTao");
//初始化余额;
account.setValue(0);
//存入100;
new SaveMoney(100,account).start();
//存入200;
new SaveMoney(200, account).start();
//取出500;
new FetchMoney(500, account).start();
程序运行结果如下:
尊敬的ZhouHaiTao用户您好!当前的余额为:0元.存入余额为:100元.账户余额为:100元尊敬的ZhouHaiTao用户您好!当前的余额为:0元.存入余额为:200元.账户余额为:300元尊敬的ZhouHaiTao用户您好!当前的余额为:0元.取出余额为:300元.账户余额为:0元
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
java多线程简单实例、java简单线程实例、java简单的多线程实例、atm取款限额、atm机取款限额,以便于您获取更多的相关知识。
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
的信息,还有java多线程简单实例、java简单线程实例、java简单的多线程实例、atm取款限额、atm机取款限额等
,所有相关内容均不代表云栖社区的意见!欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 3718 人关注过本帖
标题:Java ATM机操作界面程序哦
等 级:新手上路
帖 子:35
&&问题点数:0&&回复次数:9&&&
Java ATM机操作界面程序哦
//以下是我写的ATM操作界面的程序//
//请高手赐教如何添加背景图形????//
import java.awt.*;
import java.awt.event.*;
public class AtmDialog
public static void main(String args[])
MyDialogFrame df=new MyDialogFrame();
class MyDialogFrame extends Frame
implements ActionListener,ComponentListener
Dialog MegDlg,InOutD
Label prompt1;
Button btn1,btn2,btn3,btn4,btn5;
TextField tf=new TextField("请按相关按钮操作",25);
TextField getMeg=new TextField("您目前的存款是1000元. ",10);
TextField getMeg1=new TextField(20);
MyDialogFrame()
super("ATM终端");
prompt=new Label("欢迎您的光临!");
btn1=new Button("取款");
btn2=new Button("查询");
btn3=new Button("确定");
btn4=new Button("取消");
btn5=new Button("返回");
setLayout(new FlowLayout());
add(prompt);
add(btn1);
add(btn2);
//add(btn3);
//btn1.addComponentListener(this);
getMeg1.addActionListener(this);
btn1.addActionListener(this);
btn2.addActionListener(this);
//btn3.addActionListener(this);
btn3.addActionListener(this);
btn4.addActionListener(this);
btn5.addActionListener(this);
setSize(350,150);
public void actionPerformed(ActionEvent e)
if(e.getActionCommand()=="取款")
MegDlg=new Dialog(this,"请输入取款金额",true);
Panel p1=new Panel();
MegDlg.add("Center",getMeg1);
Panel p2=new Panel();
p2.add(btn3);
p2.add(btn4);
MegDlg.add("South",p2);
MegDlg.setSize(200,100);
MegDlg.show();
else if(e.getActionCommand()=="查询")
InOutDlg=new Dialog(this);
InOutDlg.add("Center",getMeg);
InOutDlg.add("South",btn5);
InOutDlg.setSize(200,100);
InOutDlg.show();
else if(e.getActionCommand()=="确定")
tf.setText("请取走金额...");
getMeg.setText("您的帐户余额为:(1000-"+getMeg1.getText()+")元");
MegDlg.dispose();
// else if(getMeg1.getText()&getMeg.getText())
else if(e.getActionCommand()=="取消")
MegDlg.dispose();
else if(e.getActionCommand()=="返回")
InOutDlg.dispose();
public void componentShown(ComponentEvent e){}
public void componentResized(ComponentEvent e){}
public void componentMoved(ComponentEvent e){}
public void componentHidden(ComponentEvent e){}
class WinAdpt extends WindowAdapter
public void windowClosing(WindowEvent e)
((Frame)e.getWindow()).dispose();
System.exit(0);
搜索更多相关主题的帖子:
等 级:新手上路
帖 子:86
组件.setBackground(Color c) ;背景
组件.setForeground(Color c) ;前景
天不知道,地知道,
你不知道,我知道!
等 级:新手上路
&&&&&&谢谢你哦!!
&&&&&&这两个组件能够改变背景和前景的颜色,但是如何将背景变成图形呢,譬如我有一副图,我要把它变成背景,怎么办?.........
等 级:新手上路
帖 子:35
&&&&&这是我在学校做课设的写的程序,我一开始对Java一点都不懂,当然了,现在也只懂皮毛,让我相互沟通,共同进步。一个搞软件的朋友跟我说:学编程,关键是常写程序,不要放弃最初的梦想,那是支持你的动力....
不要放弃最初的梦想!
等 级:新手上路
帖 子:35
自己顶一下了!
希望高手指点迷经喔....
不要放弃最初的梦想!
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
Class Canvas 里的
public void paint( g) 这个操作可以么?
成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
顺便问一下,你打算怎么把这个frame关闭阿?
成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
等 级:新手上路
帖 子:35
public void windowClosing(WindowEvent e)
((Frame)e.getWindow()).dispose();
System.exit(0);
mm,用这个关闭不了吗?谢谢你喔
不要放弃最初的梦想!
等 级:新手上路
帖 子:86
也可以这样关闭窗口
addWindowListener(new WindowAdapter()
&public void windowClosing(WindowEvent e)
&&System.exit(0) ;
天不知道,地知道,
你不知道,我知道!
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
OK,明白了。原来程序里没有加关闭的代码,加一个就搞定了。呵呵。
成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
版权所有,并保留所有权利。
Powered by , Processed in 0.254988 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved

我要回帖

更多关于 java 登陆功能的实现 的文章

 

随机推荐