下面我将为您详细讲解Java实现ATM取款机程序的完整攻略。整个过程可以分为三部分:1.创建账户;2.登录账户;3.执行取款操作。
1. 创建账户
首先,我们需要定义一个Account类,包括属性:账号、密码、余额等。代码如下:
public class Account {
private String accountNumber; // 账号
private String password; // 密码
private double balance; // 余额
public Account(String accountNumber, String password, double balance) {
this.accountNumber = accountNumber;
this.password = password;
this.balance = balance;
}
public String getAccountNumber() {
return accountNumber;
}
public String getPassword() {
return password;
}
public double getBalance() {
return balance;
}
// 增加余额
public void deposit(double amount) {
balance += amount;
}
// 减少余额
public void withdraw(double amount) {
balance -= amount;
}
}
然后,我们可以在ATM机程序中创建一个ArrayList,用来存储所有的账户信息,示例如下:
public class ATM {
private ArrayList<Account> accounts; // 存储账户信息
public ATM() {
accounts = new ArrayList<Account>();
}
// 添加账户
public void addAccount(String accountNumber, String password, double balance) {
accounts.add(new Account(accountNumber, password, balance));
}
// 判断账号是否存在
public int findAccount(String accountNumber) {
for (int i = 0; i < accounts.size(); i++) {
if (accounts.get(i).getAccountNumber().equals(accountNumber)) {
return i;
}
}
return -1;
}
}
2. 登录账户
在创建账户后,我们需要让用户登录他们的账户。代码如下:
import java.util.Scanner;
public class ATM {
private ArrayList<Account> accounts; // 存储账户信息
public ATM() {
accounts = new ArrayList<Account>();
}
// 添加账户
public void addAccount(String accountNumber, String password, double balance) {
accounts.add(new Account(accountNumber, password, balance));
}
// 判断账号是否存在
public int findAccount(String accountNumber) {
for (int i = 0; i < accounts.size(); i++) {
if (accounts.get(i).getAccountNumber().equals(accountNumber)) {
return i;
}
}
return -1;
}
// 用户登录
public void login() {
Scanner input = new Scanner(System.in);
int index = -1;
// 输入账号
System.out.print("请输入您的账号:");
String accountNumber = input.next();
// 判断账号是否存在
index = findAccount(accountNumber);
if (index == -1) {
System.out.println("该账号不存在!");
return;
}
// 输入密码
System.out.print("请输入您的密码:");
String password = input.next();
// 判断密码是否正确
if (!accounts.get(index).getPassword().equals(password)) {
System.out.println("密码不正确!");
return;
}
// 登录成功
System.out.println("登录成功!");
System.out.println("您的账户余额为:" + accounts.get(index).getBalance());
}
}
3. 执行取款操作
当用户成功登录后,我们需要让用户进行取款操作。代码如下:
import java.util.Scanner;
public class ATM {
private ArrayList<Account> accounts; // 存储账户信息
public ATM() {
accounts = new ArrayList<Account>();
}
// 添加账户
public void addAccount(String accountNumber, String password, double balance) {
accounts.add(new Account(accountNumber, password, balance));
}
// 判断账号是否存在
public int findAccount(String accountNumber) {
for (int i = 0; i < accounts.size(); i++) {
if (accounts.get(i).getAccountNumber().equals(accountNumber)) {
return i;
}
}
return -1;
}
// 用户登录
public void login() {
Scanner input = new Scanner(System.in);
int index = -1;
// 输入账号
System.out.print("请输入您的账号:");
String accountNumber = input.next();
// 判断账号是否存在
index = findAccount(accountNumber);
if (index == -1) {
System.out.println("该账号不存在!");
return;
}
// 输入密码
System.out.print("请输入您的密码:");
String password = input.next();
// 判断密码是否正确
if (!accounts.get(index).getPassword().equals(password)) {
System.out.println("密码不正确!");
return;
}
// 登录成功
System.out.println("登录成功!");
System.out.println("您的账户余额为:" + accounts.get(index).getBalance());
// 取款操作
System.out.print("请输入您要取出的金额:");
double amount = input.nextDouble();
// 判断余额是否充足
if (accounts.get(index).getBalance() < amount) {
System.out.println("您的账号余额不足!");
return;
}
// 取款成功
accounts.get(index).withdraw(amount);
System.out.println("您已成功取出" + amount + "元,您的账户余额为:" + accounts.get(index).getBalance());
}
}
以上就是Java实现ATM取款机程序的完整攻略。以下是两个示例说明:
示例1
输入:
addAccount("1001", "123456", 5000.0)
login()
1001
123456
2000.0
输出:
登录成功!
您的账户余额为:5000.0
请输入您要取出的金额:2000
您已成功取出2000.0元,您的账户余额为:3000.0
示例2
输入:
addAccount("1001", "123456", 5000.0)
addAccount("1002", "654321", 8000.0)
login()
1003
123456
2000.0
输出:
该账号不存在!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现ATM取款机程序 - Python技术站