这个怎么用java写啊,大佬提供思路也可以,救救孩子吧

模拟网上银行业务,当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。操作类型包括四种(存款:1 取款:2 余额:3 修改个人密码:4 退出:0),输入数字1、2时,将进行存取款操作,此时需要输入存取的金额,并进行正确的金额加减计算;输入数字3时,显示当前账户的余额;输入数字4时,可修改当前账户的密码;输入数字0时将退出整个系统。提示:可利用HashMap集合存储模拟的账户信息,其中key值用于存储银行卡号,value值用于存储整个账户对象。

1.定义一个用户类,

2.使用map保存用户资料(相当于银行)

3.定义主界面做各种操作。

 

 

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

/*
 * 1. 客户登录或注册用户 2. 查询个人账户余额 3. 取入钱款交易 4. 存入钱款交易 5. 转账交易 6. 退出账户 7. 注销账户 
 * 要求:1.Switch语句,循环语句,集合,继承,构造方法,抽象方法,
 * super,this,Scanner,静态方法等的运用、呈现。2.添加注释
 * */
public class BankTest {

	public static void main(String[] args) {
		int num;
		Scanner input = new Scanner(System.in);
		UserData u=null;
		Map<String,UserData> userList = new HashMap<String,UserData>();
		while(true) {
			System.out.println("***************中国银行系统***************\n");
			System.out.println("1、注册                                                                                                  *\n");
			System.out.println("2、登录                                                                                                  *\n");
			System.out.println("3、查询个人账户                                                                                  *\n");
			System.out.println("4、存款                                                                                                   *\n");
			System.out.println("5、取钱                                                                                                  *\n");
			System.out.println("6、转账                                                                                                  *\n");
			System.out.println("7、退出**********************************\n");
			System.out.println("请选择(1~7):");
			num = input.nextInt();
			switch(num) {
				case 1:
					System.out.println("你选择的是开户:请输入卡号,密码,存款金额:");
					u = new UserData(input.next(),input.next(),input.nextFloat());
					System.out.println("开户成功,信息如下:敲任意键继续....");
					System.out.println(u);
					userList.put(u.getId(), u);
					input.next();
					break;
				case 2:
					System.out.println("你选择的是登录:请输入卡号,密码:");
					String id = input.next();
					String pwd = input.next();
					u = userList.get(id);
					if(u==null) {
						System.out.println("卡号不存在:");
						return;
					}
					if(u.getPassword().equals(pwd)) {
						System.out.println("登录成功,你的信息如下:");
						System.out.println(u);
					}
					break;
				case 3:
					if(u==null) {
						System.out.println("用户不存。");
						break;
					}
					System.out.println("你选择的是查询个人账户:信息如下:");
					System.out.println(u);
					break;
				case 4:
					if(u==null) {
						System.out.println("用户不存。");
						break;
					}
					System.out.println("你选择的是存款:请输入存款金额:");
					float money = input.nextFloat();
					u.setMoney(u.getMoney()+money);
					System.out.println("存款后的信息如下:");
					System.out.println(u);
					break;
				case 5:
					if(u==null) {
						System.out.println("用户不存。");
						break;
					}
					System.out.println("你选择的是取钱:请输入取款金额:");
					money = input.nextFloat();
					u.setMoney(u.getMoney()-+money);
					System.out.println("取款后的信息如下:");
					System.out.println(u);
					break;
				case 6:
					if(u==null) {
						System.out.println("用户不存。");
						break;
					}
					System.out.println("你选择的是转账:请输入对方账号:");
					id = input.next();
					UserData other = userList.get(id);
					if(other==null) {
						System.out.println("对方账号不存在:");
						break;
					}
					System.out.println("请输入转账金额:");
					money = input.nextFloat();
					u.setMoney(u.getMoney()-money);
					other.setMoney(other.getMoney()+money);
					System.out.println(u);
					System.out.println(other);
					
					break;
				case 7:
					break;
				
			}
			if(num==7)
				break;
			
		}
	}
	
}


class UserData implements Serializable{
	private String id;
	private String password;

	private float money;

	public UserData() {
		
	}
	public UserData(String id,String password,float money) {
		this.id = id;
		this.password = password;
		this.money = money;
	}
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public float getMoney() {
		return money;
	}

	public void setMoney(float money) {
		this.money = money;
	}
	@Override
		public String toString() {
			return "id:"+this.id+",密码:"+this.password+",账户余额:"+this.money;
		}
	
	
}

 

package com.bank; import java.util.Scanner; public class Account { double money=0; Scanner input = new Scanner(System.in); double addmoney(double m){ money+=m; System.out.println("存款成功"); System.out.println("\n*****当前金额为:"+money+"*****\n\n"); return money; } double reducemoney(double m){ money-=m; System.out.println("取款成功"); System.out.println("\n*****当前金额为:"+money+"*****"); return money; } public static void main(String[] args) { Account a=new Account(); int c=0,x=1,y=2; Scanner input = new Scanner(System.in); System.out.println("1.存款\t2.取款\t0.退出"); System.out.print("请选择您需要办理的业务:"); int b=input.nextInt(); switch(b){ case 1:do{ System.out.print("请输入存款金额:"); int m1=input.nextInt(); double d1=a.addmoney(m1); System.out.println("1.存款\t2.取款\t0.退出"); System.out.print("请选择您需要办理的业务:"); x=input.nextInt(); }while(x!=2); case 2:do{ System.out.print("请输入取款金额:"); int m2=input.nextInt(); if(m2>a.money){ System.out.println("余额不足"); }else{ double d2=a.reducemoney(m2); } System.out.println("\n\n1.存款\t2.取款\t0.退出"); System.out.print("请选择您需要办理的业务:"); y=input.nextInt(); }while(y!=0); break; } System.out.println("\n谢谢您的使用"); } } 代码如上,如果对你有帮助,记得点采纳哦。

1,用一个类来代表用户,里面设置卡号,密码,余额等字段 2,开卡:实例化对象往里边存数据,并把对象存在数组中作为用户库 3,登录,验证用户库数据 4,存钱:往对象余额字段加钱 5,取钱……

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632