用java模拟自助ATM机
时间: 2024-02-25 11:55:23 浏览: 16
好的,那我来回答你的问题。
首先,我们需要定义ATM机的功能,比如取款、查询余额、转账等。然后,我们可以设计一个ATM类,在该类中实现这些功能。
以下是ATM类的一个简单实现:
```java
import java.util.Scanner;
public class ATM {
private int balance; // 余额
private int password; // 密码
public ATM(int balance, int password) {
this.balance = balance;
this.password = password;
}
/**
* 取款
*/
public void withdraw() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入密码:");
int pwd = scanner.nextInt();
if (pwd != password) {
System.out.println("密码错误!");
return;
}
System.out.println("请输入取款金额:");
int amount = scanner.nextInt();
if (amount <= 0) {
System.out.println("取款金额必须大于0!");
return;
}
if (amount > balance) {
System.out.println("余额不足!");
return;
}
balance -= amount;
System.out.println("取款成功,余额为:" + balance);
}
/**
* 查询余额
*/
public void checkBalance() {
System.out.println("当前余额为:" + balance);
}
/**
* 转账
*/
public void transfer() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入密码:");
int pwd = scanner.nextInt();
if (pwd != password) {
System.out.println("密码错误!");
return;
}
System.out.println("请输入转账金额:");
int amount = scanner.nextInt();
if (amount <= 0) {
System.out.println("转账金额必须大于0!");
return;
}
if (amount > balance) {
System.out.println("余额不足!");
return;
}
System.out.println("请输入对方账户:");
String account = scanner.next();
System.out.println("转账成功,余额为:" + (balance - amount));
}
public static void main(String[] args) {
ATM atm = new ATM(1000, 123456);
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择功能:1.取款 2.查询余额 3.转账 4.退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
atm.withdraw();
break;
case 2:
atm.checkBalance();
break;
case 3:
atm.transfer();
break;
case 4:
System.exit(0);
break;
default:
System.out.println("输入有误,请重新输入!");
break;
}
}
}
}
```
在上面的代码中,我们定义了ATM类,该类有三个功能:取款、查询余额、转账。我们在main方法中实现了ATM机的交互界面,用户可以选择不同的功能来操作ATM机。
当用户选择取款功能时,ATM机会要求用户输入密码和取款金额,然后检查密码是否正确、取款金额是否大于0和余额是否足够,如果都符合要求,则进行取款操作,并更新余额。
当用户选择查询余额功能时,ATM机会直接输出当前余额。
当用户选择转账功能时,ATM机会要求用户输入密码、转账金额和对方账户,然后检查密码是否正确、转账金额是否大于0和余额是否足够,如果都符合要求,则进行转账操作,并更新余额。
以上就是一个简单的ATM机的模拟实现,你可以根据需要进行修改和完善。