第三次作业-ATM管理系统

ATM管理系统
博客班级 计算机18级
作业要求 要求
作业目标 编写一个ATM管理系统,语言不限
学号 3180701326
题目要求:
编写一个ATM管理系统,语言不限,要求应包括以下主要功能:

(1)开户,销户

(2)查询账户余额

(3)存款

(4)取款

(5)转账(一个账户转到另一个账户)等...

(1)开户

public static void account() {
System.out.print("请输入用户名:");
Scanner name1=new Scanner(System.in);
name=name1.nextLine();
System.out.print("请输入密码:");
Scanner passworld1=new Scanner(System.in);
passworld=passworld1.nextLine();
user.put(name,passworld);
message.put(name,0f);
System.out.println("开户成功");

}

(2)销户

public static void selling() {
System.out.print("请输入用户名:");
Scanner name1=new Scanner(System.in);
name=name1.nextLine();
System.out.print("请输入密码:");
Scanner passworld1=new Scanner(System.in);
passworld=passworld1.nextLine();
if(user.containsKey(name))
{
String mypassworld=user.get(name);
if(mypassworld.equals(passworld)) {
user.remove(name);
message.remove(name);
System.out.println("销户成功");
}
else
System.out.println("用户密码不正确");
}
else
System.out.println("不存在该用户");
}
(3)余额查询

public static void inquire() {//余额查询
System.out.print("请输入用户名:");
Scanner name1=new Scanner(System.in);
name=name1.nextLine();
System.out.print("请输入密码:");
Scanner passworld1=new Scanner(System.in);
passworld=passworld1.nextLine();
if(user.containsKey(name))
{
String mypassworld=user.get(name);
if(mypassworld.equals(passworld)) {
amount=message.get(name);
System.out.printf("你的余额为:"+"%.2f",amount);
System.out.println();
}
else
System.out.println("用户密码不正确");
}
else
System.out.println("不存在该用户");
}
(4)存款

public static void deposit() {//存款
System.out.print("请输入用户名:");
Scanner name1=new Scanner(System.in);
name=name1.nextLine();
System.out.print("请输入密码:");
Scanner passworld1=new Scanner(System.in);
passworld=passworld1.nextLine();
if(user.containsKey(name))
{
String mypassworld=user.get(name);
if(mypassworld.equals(passworld)) {
amount=message.get(name);
System.out.print("请输入存入的金额:");
Scanner money1=new Scanner(System.in);
float money=money1.nextFloat();
amount+=money;
message.put(name, amount);//把存取的金额存到哈希表中
System.out.printf("存款成功你的余额为:"+"%.2f",amount);
System.out.println();
}
else
System.out.println("用户密码不正确");
}
else
System.out.println("不存在该用户");
}
(5)取款

public static void withdrawal() {//取款
System.out.print("请输入用户名:");
Scanner name1=new Scanner(System.in);
name=name1.nextLine();
System.out.print("请输入密码:");
Scanner passworld1=new Scanner(System.in);
passworld=passworld1.nextLine();
if(user.containsKey(name))
{
String mypassworld=user.get(name);
if(mypassworld.equals(passworld)) {
amount=message.get(name);
System.out.print("请输入取出的金额:");
Scanner money1=new Scanner(System.in);
float money=money1.nextFloat();
if(amount<money)
System.out.println("取款失败,余额不足");
else {
amount=amount-money;
message.put(name, amount);
System.out.printf("取款成功你的余额为:"+"%.2f",amount);
System.out.println();
}
}
else
System.out.println("用户密码不正确");
}
else
System.out.println("不存在该用户");
}
(6)转账

public static void transfer() {//转账
System.out.print("请输入用户名:");
Scanner name1=new Scanner(System.in);
name=name1.nextLine();
System.out.print("请输入密码:");
Scanner passworld1=new Scanner(System.in);
passworld=passworld1.nextLine();
if(user.containsKey(name))
{
String mypassworld=user.get(name);
if(mypassworld.equals(passworld)) {
amount=message.get(name);
System.out.print("请输入转出的金额:");
Scanner money1=new Scanner(System.in);
float money=money1.nextFloat();
System.out.print("请输入要转入的账户:");
Scanner name2=new Scanner(System.in);
String name3=name2.nextLine();//要转入的账户
if(user.containsKey(name3)) {
if(amount<money) {
System.out.println("转账失败,余额不足");
}
else {
amount=amount-money;
message.put(name, amount);
message.put(name3, money);
System.out.printf("取款成功你的余额为:"+"%.2f",amount);
System.out.println();
}
}
else
System.out.println("要转入的账户不存在");
}
else
System.out.println("用户密码不正确");
}
else
System.out.println("不存在该用户");
}
源码

package homework;
import java.util.HashMap;
import java.util.Scanner;
public class AtmSystem {
protected static float amount=0;//余额
private static String name;//用户
private static String passworld;//密码
static HashMap <String,String>user=new HashMap<String,String>();
static HashMap <String,Float>message=new HashMap<String,Float>();
public static void menu() {
System.out.println("这里是ATM管理系统");
System.out.println("
开户: 1");
System.out.println("
销户: 2
");
System.out.println("查询账户余额: 3");
System.out.println("**********存款: 4
");
System.out.println("**********取款: 5
");
System.out.println("**********转账: 6
");
System.out.println("**********退出: 0
***");
}
public static void account() {
System.out.print("请输入用户名:");
Scanner name1=new Scanner(System.in);
name=name1.nextLine();
System.out.print("请输入密码:");
Scanner passworld1=new Scanner(System.in);
passworld=passworld1.nextLine();
user.put(name,passworld);
message.put(name,0f);
System.out.println("开户成功");

}
public static void selling() {
	System.out.print("请输入用户名:");
	Scanner name1=new Scanner(System.in);
	name=name1.nextLine();
	System.out.print("请输入密码:");
	Scanner passworld1=new Scanner(System.in);
	passworld=passworld1.nextLine();
	if(user.containsKey(name))
	{
		String mypassworld=user.get(name);
		if(mypassworld.equals(passworld)) {
			user.remove(name);
			message.remove(name);
			System.out.println("销户成功");
		}
		else
			System.out.println("用户密码不正确");
	}
	else 
		System.out.println("不存在该用户");
}
public static void inquire() {//余额查询
	System.out.print("请输入用户名:");
	Scanner name1=new Scanner(System.in);
	name=name1.nextLine();
	System.out.print("请输入密码:");
	Scanner passworld1=new Scanner(System.in);
	passworld=passworld1.nextLine();
	if(user.containsKey(name))
	{
		String mypassworld=user.get(name);
		if(mypassworld.equals(passworld)) {
			amount=message.get(name);
			System.out.printf("你的余额为:"+"%.2f",amount);
			System.out.println();
		}
		else 
			System.out.println("用户密码不正确");
	}
	else 
		System.out.println("不存在该用户");
}
public static void deposit() {//存款
	System.out.print("请输入用户名:");
	Scanner name1=new Scanner(System.in);
	name=name1.nextLine();
	System.out.print("请输入密码:");
	Scanner passworld1=new Scanner(System.in);
	passworld=passworld1.nextLine();
	if(user.containsKey(name))
	{
		String mypassworld=user.get(name);
		if(mypassworld.equals(passworld)) {
			amount=message.get(name);
			System.out.print("请输入存入的金额:");
			Scanner money1=new Scanner(System.in);
			float money=money1.nextFloat();
			amount+=money;
			message.put(name, amount);//把存取的金额存到哈希表中
			System.out.printf("存款成功你的余额为:"+"%.2f",amount);
			System.out.println();
		}
		else 
			System.out.println("用户密码不正确");
	}
	else 
		System.out.println("不存在该用户");
}
public static void withdrawal() {//取款
	System.out.print("请输入用户名:");
	Scanner name1=new Scanner(System.in);
	name=name1.nextLine();
	System.out.print("请输入密码:");
	Scanner passworld1=new Scanner(System.in);
	passworld=passworld1.nextLine();
	if(user.containsKey(name))
	{
		String mypassworld=user.get(name);
		if(mypassworld.equals(passworld)) {
			amount=message.get(name);
			System.out.print("请输入取出的金额:");
			Scanner money1=new Scanner(System.in);
			float money=money1.nextFloat();
			if(amount<money) 
				System.out.println("取款失败,余额不足");
			else {
				amount=amount-money;
				message.put(name, amount);
				System.out.printf("取款成功你的余额为:"+"%.2f",amount);
				System.out.println();
			}
		}
		else 
			System.out.println("用户密码不正确");
	}
	else 
		System.out.println("不存在该用户");
}
public static void transfer() {//转账
	System.out.print("请输入用户名:");
	Scanner name1=new Scanner(System.in);
	name=name1.nextLine();
	System.out.print("请输入密码:");
	Scanner passworld1=new Scanner(System.in);
	passworld=passworld1.nextLine();
	if(user.containsKey(name))
	{
		String mypassworld=user.get(name);
		if(mypassworld.equals(passworld)) {
			amount=message.get(name);
			System.out.print("请输入转出的金额:");
			Scanner money1=new Scanner(System.in);
			float money=money1.nextFloat();
			System.out.print("请输入要转入的账户:");
			Scanner name2=new Scanner(System.in);
			String name3=name2.nextLine();//要转入的账户
			if(user.containsKey(name3)) {
				if(amount<money) {
					System.out.println("转账失败,余额不足");
				}
				else {
					amount=amount-money;
					message.put(name, amount);
					message.put(name3, money);
					System.out.printf("取款成功你的余额为:"+"%.2f",amount);
					System.out.println();
				}
			}
			else
				System.out.println("要转入的账户不存在");
		}
		else 
			System.out.println("用户密码不正确");
	}
	else 
		System.out.println("不存在该用户");
}
public static void main(String[] args) {
	int item=0;//选项
	do {
		AtmSystem.menu();
		System.out.print("请输入你的选择:");
		Scanner s=new Scanner(System.in);
		item=s.nextInt();
		switch(item) {
		case 0:
			System.out.println("退出成功");
			break;
		case 1:
			AtmSystem.account();//开户
			break;
		case 2:
			AtmSystem.selling();//销户
			break;
		case 3:
			AtmSystem.inquire();//余额查询
			break;
		case 4:
			AtmSystem.deposit();//存款
			break;
		case 5:
			AtmSystem.withdrawal();
			break;
		case 6:
			AtmSystem.transfer();
			break;
		default:
			System.out.println("输入错误");
			break;
		}
	}while(item!=0);
	
}

}
运行截图

实验总结

psp2.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 10 8
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 10 15
Development 开发 100 150
Analysis 需求分析(包括学习新技术) 12 6
Design Spec 生成设计文档 5 5
Design Review 设计复审 5 5
Coding Standard 代码规范 3 4
Design 具体设计 10 12
Coding 具体编码 36 21
Code Review 代码复审 5 7
Test 测试(自我测试,修改代码,提交修改) 10 20
Reporting 报告 9 6
Test Report 测试报告 3 2
Size Measurement 计算工作量 2 8
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 3 6

posted @ 2020-11-18 23:40  小源123456  阅读(78)  评论(0)    收藏  举报