JOKER-LE 2021-05-25 22:13 采纳率: 33.3%
浏览 143
已结题

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

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

  • 写回答

4条回答 默认 最新

  • 关注

    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;
    		}
    	
    	
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月22日

悬赏问题

  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页
  • ¥20 如何通过代码传输视频到亚马逊平台
  • ¥15 php查询mysql数据库并显示至下拉列表中
  • ¥15 freertos下使用外部中断失效
  • ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
  • ¥15 devserver配置完 启动服务 无法访问static上的资源
  • ¥15 解决websocket跟c#客户端通信
  • ¥30 Python调用dll文件输出Nan重置dll状态