atm系统类 java_ATM管理系统(java)

本文介绍了作者使用Java语言实现ATM管理系统的过程,从C语言转为Java以解决内存调用问题。文中展示了ATMDemo和ATMTest类的代码,包括用户登录、取款、存款、查询余额和转账等功能,并强调了面向对象编程的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大一寒假时我做了一个图书管理系统 感觉和本次作业很相似 所以开始是想用c语言编写

但在后来的功能管理时发现调用的内存太大 导致程序运行很缓慢,在网上找了很多资料后 决定转为面向对象 使用Java语言。

`package ATMSystem;

public class ATMDemo {

//用户名,密码,账户余额

private String username;

private String password;

private double money;

public ATMDemo() {

}

public ATMDemo(String username,String password,double money) {

this.username=username;

this.password=password;

this.money=money;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username=username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password=password;

}

public double getMoney() {

return money;

}

public void setMoney(double money) {

this.money=money;

}

@Override

public String toString() {

return "[username=" + username + ",password=" + password + ",money=" + money + "]";

}

}这里定义用户属性 可以再到用时再new新对象 即为开户 若要销户也可直接delete 还可节省内存;import java.util.*;

public class ATMTest {

ATMDemo atm=new ATMDemo();//实例化一个类对象

Scanner input=new Scanner(System.in);//控制台输入

private int num=0;//记录输入密码的次数

public void Select() {

System.out.println("==========欢迎访问ATM银行管理系统==========");

System.out.println("请输入用户名:");

String username=input.next();

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

String password=input.next();

if(username.equals(atm.getUsername())&&password.equals(atm.getPassword()) ) {//用户名、密码输入正确

System.out.println("登录成功!!!");

while(true) {

System.out.println("尊敬的用户您好:");

System.out.println("请选择的项目:1.取钱 2.存钱 3.查询余额 4.转账 5.重新登录 6.退出登录");

switch(input.nextInt()) {

case 1:

takeMoney();//取钱

break;

case 2:

saveMoney();//存钱

break;

case 3:

selectMoney();//查询余额

break;

case 4:

transferMoney();//转账

break;

case 5:

Select();//重新登录

break;

case 6:

System.out.println("感谢您的本次使用,欢迎下次访问该系统!");

System.exit(0);//退出

break;

default :

System.out.println("你输入有误!请重新输入!!!");

break;

}

}

}else {//用户名或密码不正确

System.out.println("用户名或密码错误,请重新输入!!!");

Select();//重新输入

}

}

public void takeMoney() {//取钱

System.out.println("请输入取钱金额(元):");

double rmb=input.nextDouble();//控制台获取取钱金额

if(rmb<=atm.getMoney()) {

rmb=atm.getMoney()-rmb;

atm.setMoney(rmb);

System.out.println("取款成功,请取走您的现金!!!");

}else {//取钱金额大于当前账户余额

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

}

}

public void saveMoney() {//存钱

System.out.println("请输入存钱金额(元):");

double rmb=input.nextDouble();

rmb+=atm.getMoney();

atm.setMoney(rmb);//

System.out.println("恭喜您,存款成功!!!");

}

public void selectMoney() {//查询余额

System.out.println("当前,您的帐户余额为:" + atm.getMoney() + "元");//调用get方法获取账户余额

}

public void transferMoney() {//转账

System.out.println("请输入转账人的用户名:");

String username=input.next();

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

double rmb=input.nextDouble();

if(rmb<=atm.getMoney()) {//转账金额小于等于当前账户余额

rmb=atm.getMoney()-rmb;//减去转走的

atm.setMoney(rmb);//调用set方法更新当前账户余额

System.out.println("转账成功!!!");

}else {//转账金额大于当前账户余额

System.out.println("转账金额不足,转账失败!");

}

}

}这里是主要功能类 先通过选择语句进入不同的功能模块 再写不同的功能的方法,实现模块化编程,也更容易看懂;public class main {

public static void main(String[] args) {

ATMTest atmtest=new ATMTest();

atmtest.Select();

}

}`

这里主函数直接调用所写类,若有需求变化也可直接在对应类中更改 因为对java的new使用不够熟练这里使用我直接在用户类里定义对象 初始余额10000

大致运行如图

e45a11856e64884b54b8743806828fbb.png

psp表格如图

97ad4f313840d856e27fb921d79ceb60.png

小结

本次作业我又详细的学习了java类的定义和调用 更深入的了解了面向对象编程的优越性 但自己的知识储备过于匮乏 从网上找了很多资料才勉强完成任务,未来的学习没有止境 我希望在不久后能够自己独立写出一个完善的管理系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值