ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ATM管理系统

2020-11-19 07:33:09  阅读:179  来源: 互联网

标签:String 管理系统 ATM System println password public out


班级博客 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19
作业要求 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11477
作业目标 编写一个ATM管理系统
学号 3190704109

1 ATMDemo类(主要就是set、get方法和类的构造器)
package ATMSystem;
public class ATMDemo {
//用户名,密码,账户余额
private String username="冷少";
private String password="szh2656307671";
private double money=20000;

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 + "]";
}

}

2 ATMTest类(实现具体功能的类)
package ATMSystem;
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();//用户名、密码不包含空格,所以用next(),而不是nextLine()
	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.重新登录   7.退出登录");
			switch(input.nextInt()) {
				case 1:
					takeMoney();//取钱
					break;
				case 2:
					saveMoney();//存钱
					break;
				case 3:
					selectMoney();//查询余额
					break;
				case 4:
					transferMoney();//转账
					break;
				case 5:
					updatePassword();//修改密码
					break;
				case 6:
					Select();//重新登录
					break;
				case 7:
					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);//调用set方法更新账户余额
		System.out.println("取款成功,请取走您的现金!!!");
	}else {//取钱金额大于当前账户余额
		System.out.println("抱歉,您的账户余额不足!!!");
	}
}

public void saveMoney() {//存钱
	System.out.println("请输入存钱金额(元):");
	double rmb=input.nextDouble();//控制台获取存钱金额
	rmb+=atm.getMoney();//加上存进去的
	atm.setMoney(rmb);//调用set方法更新账户余额
	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 void updatePassword() {//修改密码
	System.out.println("请输入原密码:");
	String password=input.next();//控制台获取原密码
	if(password.equals(atm.getPassword())) {//原密码正确,才可以继续修改密码
		System.out.println("请输入新密码:");
		String newpassword1=input.next();//新密码
		System.out.println("请再次输入新密码:");
		String newpassword2=input.next();//新密码一般需要输入两次(大家改过密码的一定都清楚)
		if(newpassword1.equals(newpassword2)) {//两次新密码匹配成功
			System.out.println("密码修改成功,即将重新登录!!!");
			atm.setPassword(newpassword1);//调用set方法将原密码更新为新密码
			Select();//重新登录
		}else {//两次新密码输入不相同
			System.out.println("您两次输入的新密码不相同,请重新操作!!!");
			updatePassword();
		}
	}else {//原密码输入错误
		num++;//记录次数
		if(num>=3) {//大于等于三次,系统自动退出
			System.out.println("您三次输入的密码都不正确!!!");
			System.out.println("输入次数超限,即将退出ATM系统!!!");
			System.exit(0);
		}
		System.out.println("您所输入的密码与原密码不相同,请重新输入:");
		updatePassword();//继续输入原密码
	}
}

}

3 Main方法(Java程序的入口)
package ATMSystem;
public class Main {
public static void main(String[] args) {
ATMTest atmtest=new ATMTest();
atmtest.Select();
}
}

4 运行该程序的简单输出结果

任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
计划 10 6
估计这个任务需要多少时间,并规划大致工作步骤 10 10
开发 100 160
需求分析(包括学习新技术) 15 5
生成设计文档 5 5
设计复审 5 5
代码规范 5 5
具体设计 10 15
具体编码 40 30
代码复审 5 6
测试(自我测试,修改代码,提交修改) 10 10
报告 10 5
测试报告 3 2
计算工作量 3 2
事后总结,并提出过程改进计划 3 2

标签:String,管理系统,ATM,System,println,password,public,out
来源: https://www.cnblogs.com/123456qwer/p/14003237.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有