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

这个怎么用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 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分