重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java写ATM机代码 java做atm机

Java编程实现程序用于模拟ATM取款机。

package demo;

为善左等地区用户提供了全套网页设计制作服务,及善左网站建设行业解决方案。主营业务为网站建设、成都网站制作、善左网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

import java.util.Scanner;

public class Test3 {

public static void main(String[] args) {

Scanner scanner =new Scanner(System.in);

int cnt=3;

String username = null;

String password = null;

double money = 1000;

String targetName = "admin33";

double targetMoney = 1000;

while(true){

if(username!=nullpassword!=null){

if("admin".equals(username) "123".equals(password)){

System.out.println("欢迎光临");

while(true){

System.out.println("请选择您的操作 1 取钱 2 存钱 3 转账 4 查询 5 退出 ");

int n = scanner.nextInt();

if(n==1){//取钱

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

int getter = scanner.nextInt();

if(getter=0){

if(getter=5000){

if(getter=money){

money-=getter;

}else{

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

}

}else{

System.out.println("单笔只能取5000及以下");

}

}else{

System.out.println("银行不到给");

}

}else if(n==2){//存钱

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

int save = scanner.nextInt();

if(save=0){

money+=save;

}

}else if(n==3){//转账

System.out.println("请输入目标账户");

String target = scanner.next();

if(target.equals(targetName)){

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

int getter = scanner.nextInt();

if(getter=0){

if(getter=5000){

if(getter=money){

money-=getter;

targetMoney+=getter;

}else{

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

}

}else{

System.out.println("单笔只能取5000及以下");

}

}else{

System.out.println("银行不到给");

}

}

}else if(n==4){//查询

System.out.println(money);

}else if(n==5){//退出

System.exit(0);

}else{

System.out.println("没有该项服务");

}

}

}else{

cnt--;

System.out.println("输入错误,您还有"+cnt+"次机会");

username=null;

password=null;

if(cnt=0){

System.out.println("对不起,您的账号被冻结,请到最近的营业厅解除冻结");

System.exit(0);

}

}

}else{

System.out.println("请输入您的账号");

username = scanner.next();

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

password = scanner.next();

}

}

}

}

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机

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

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();

}

}

atm机的java怎么写啊

package demo;

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;

}

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

protected void set_Deposit(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"+

" 5.退出系统."+"\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

Welcome();

SysOpter();

}while(counter3);

Lock_Sys();

}

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

protected void SysOpter() throws Exception

{

int num;

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

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

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

switch(num) {

case 49: BetBalance(); break;

case 50: Deposit(); break;

case 51: Inqu_Info(); break;

case 52: Set_Password(); break;

case 53: Exit_Sys(); break;

}

System.exit(1);

}

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

* @throws Exception **********/

protected void Inqu_Info() throws Exception {

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

act.get_Code()+"\n"+

act.get_Name()+"\n"+

act.get_Money()+"\n"+

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

Welcome();

SysOpter();

}

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

public void BetBalance() throws Exception

{

String str=null,str1;

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

int count=0;//取款错误超过3次自动退出

do {

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

str=br.readLine();

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

System.out.println(str1);

if(Double.parseDouble(str)Double.parseDouble(str1)) {

count++;

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

if(count=3){

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

Exit_Sys();

}

}

else {

/*操作成功*/

act.set_Balance(Double.parseDouble(str));

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

Welcome();

SysOpter();

}

}while(true);

}

/*******存款********/

public void Deposit() throws Exception{

String str=null;

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

do {

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

str=br.readLine();

/*操作成功*/

act.set_Deposit(Double.parseDouble(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.Load_Sys();

// atm.Exit_Sys();

}

}

卡号:00000 密码123456 默认50000金额。简单版本的存取款。


当前文章:java写ATM机代码 java做atm机
浏览路径:http://cqcxhl.cn/article/dddpcgh.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP