栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

atm系统类 java

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

atm系统类 java

大一寒假时我做了一个图书管理系统 感觉和本次作业很相似 所以开始是想用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

大致运行如图

psp表格如图

小结

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/985277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号