提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
ATM(全称自动柜员机)是一种自动化银行服务设备,可供客户进行非现场交易和储蓄取款操作。JavaATM机是基于Java语言编写的模拟ATM机程序,旨在模拟真实ATM机的功能,让用户能够体验使用ATM机的感觉。本文将介绍JavaATM机的功能和使用方法。
提示:以下是本篇文章正文内容,下面案例可供参考
ATM机是自动取款机(Automated Teller Machine)的简称,也叫现金自动提款机。它是一种可以自动完成账户查询、现金存取、转账等银行业务的机器,大多数银行和金融机构都提供ATM服务。ATM机可以方便地为客户提供24小时无时无刻的服务。用户可以使用银行卡及个人密码来操作ATM机进行各种银行交易。
通过实践操作,学会编程结构清晰、风格良好、数据结构适当的java语言程序,加深对java语言基础知识的理解和掌握,进一步巩固java语言编程实践能力,锻炼思维逻辑和解决综合性实际问题的能力。
代码如下(示例):
import javax.swing.*;
import java.awt.event.*;
import java.util.Scanner;
import java.awt.*;
public class ATM extends JFrame implements ActionListener {
//登录页面
JButton a=new JButton("欢迎使用湖北银行ATM机");
JButton b=new JButton("退出系统");
JButton c=new JButton("注册账号");
JButton d=new JButton("登录账号");
JLabel l=new JLabel("");
JPanel l1=new JPanel();
JPanel j1=new JPanel();
//操作页面
JButton a1 = new JButton("查询余额");
JButton a2 = new JButton("取款功能");
JButton a3 = new JButton("存款功能");
JButton a4 = new JButton("转账功能");
JButton a5 = new JButton("修改密码");
JButton a6 = new JButton("退卡功能");
JPanel l2 = new JPanel();
JPanel j2 = new JPanel();
// 创建一个二维数组用来保存账户信息
String[][] accounts = new String[10][5];
int accountCount = 0;
// 创建一个二维数组用来保存金额
double[][] balance = new double[10][5];
double accountBalance = 0.0;
public l() {
//登录页面
this.setTitle("欢迎使用湖北银行ATM机");
// 添加按钮事件监听器
a.addActionListener(this);
b.addActionListener(this);
c.addActionListener(this);
d.addActionListener(this);
l1.setLayout(new BorderLayout());
l1.add(a,BorderLayout.NORTH);
l1.add(b,BorderLayout.SOUTH);
l1.add(c,BorderLayout.EAST);
l1.add(d,BorderLayout.WEST);
l1.add(l,BorderLayout.CENTER);
this.add(l1, BorderLayout.CENTER);
this.setBounds(300,250,400,200); // 设置窗口大小和位置
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 单击窗口关闭按钮时结束程序
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==a) {
JOptionPane.showMessageDialog(null,"欢迎使用湖北银行ATM机!", "提示",JOptionPane.PLAIN_MESSAGE);
}
else if(e.getSource()==b){
System.exit(0); // 直接结束程序
}
else if(e.getSource()==c) {
// 注册账号和密码,并保存到数组中
String accountNumber = JOptionPane.showInputDialog("请输入要注册的账号:");
String password = JOptionPane.showInputDialog("请输入要设置的密码:");
accounts[accountCount][0] = accountNumber;
accounts[accountCount][1] = password;
accountCount++;
JOptionPane.showMessageDialog(null,"账号注册成功!", "提示",JOptionPane.PLAIN_MESSAGE);
}
else if(e.getSource()==d) {
// 登录验证
String accountNumber = JOptionPane.showInputDialog("请输入账号:");
String password = JOptionPane.showInputDialog("请输入密码:");
boolean isLoginSuccess = false;
for(int i=0;i 10000) {
JOptionPane.showMessageDialog(null, "取款金额不能超过10000元。");
} else if (amount > accountBalance) {
JOptionPane.showMessageDialog(null, "余额不够,请重新输入。");
}
else {
accountBalance-=amount;
JOptionPane.showMessageDialog(null, "成功取出" + amount + "元。您的账户余额为:"+accountBalance );
}
}
});
// 存款的相关操作
a3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String input = JOptionPane.showInputDialog("请输入您要存款的金额:");
int amount = Integer.parseInt(input);
if (amount <= 0 || amount%50!=0) {
JOptionPane.showMessageDialog(null, "无效的金额,请重新输入。");
} else {
accountBalance+=amount;
JOptionPane.showMessageDialog(null, "成功存入" + accountBalance + "元。");
}
}
});
// 转账的相关操作
a4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String input = JOptionPane.showInputDialog("请输入对方账户:");
if (input.equals("")) {
JOptionPane.showMessageDialog(null, "未输入账户号码。");
} else {
String input2 = JOptionPane.showInputDialog("请输入转账金额:");
int amount = Integer.parseInt(input2);
if (amount <= 0 || amount%50!=0) {
JOptionPane.showMessageDialog(null, "无效的金额,请重新输入。");
} else if (amount > 10000) {
JOptionPane.showMessageDialog(null, "转账金额不能超过10000元。");
} else {
accountBalance-=amount;
JOptionPane.showMessageDialog(null, "成功向账户" + input + "转账" + amount + "元。您的账户余额为:"+accountBalance);
}
}
}
});
// 修改密码的相关操作
a5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String input = JOptionPane.showInputDialog("请输入原密码:");
if (input.equals(password)) {
String newPassword = JOptionPane.showInputDialog("请输入新密码:");
JOptionPane.showMessageDialog(null, "密码修改成功。");
} else {
JOptionPane.showMessageDialog(null, "原密码错误。");
}
}
});
//退卡的相关操作
a6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "退卡中...", "提示信息", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
});
} else {
JOptionPane.showMessageDialog(null,"登录失败,请检查账号和密码是否正确!", "提示",JOptionPane.ERROR_MESSAGE);
}
}
}
public static void main(String[] args) {
ATM ATM=new ATM();
}
}
【运行结果】
实现功能清单:ATM机程序应该实现以下功能:
Java ATM机程序需要综合使用多项技术和编程概念,可以帮助开发者更好地掌握Java开发的核心思想和实践经验。