java模拟网银登录_Java模拟网上银行业务

期末了,Java老师布置了实验报告,实现一个任务(见下图)

我的天,真的是自己敲代码敲得少,那错误真的是一筐一筐的,深受折磨,OMG

下面,总结以下实现该任务中遇到的一些问题

勉励以下自己

但是真正解决完这些问题之后(谢谢我的考神组长大力支持和同班同学的帮助呀)

那心情真超级超级爽,哈哈哈哈哈

想向全世界炫耀,哈哈哈哈哈,也太爽了

当然,我的方法也不是最简单简洁的,但是对于我这个小白来说,我已经很满足啦

下面,开始我的正文啦

任务需求

模拟网上银行业务

当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。

操作类型包括四种(存款:1 取款:2 余额:3 修改个人密码:4 退出:0)

输入数字1、2时,将进行存取款操作,此时需要输入存取的金额,并进行正确的金额加减计算;

输入数字3时,显示当前账户的余额;输入数字4时,可修改当前账户的密码;

输入数字0时将退出整个系统。

提示:可利用HashMap集合存储模拟的账户信息,其中key值用于存储银行卡号,value值用于存储整个账户对象,再利用文件存储该HashMap对象。

问题1:

用Map集合的时候,覆盖问题,但一个key值又对应了很多属性,可以将多个对应的属性存储到一个对象中

public class Login{

public static void userLogin(){

//用Map集合的时候,覆盖问题

String id="001";

String name;

String password;

int Money;

Map m=new HashMap();

m.put("001","zhangsan");

m.put("001","1234");

//map当key值相同的时候,下边会覆盖上边(可以将第一个或第二个key,value调换顺序就可以了,此处不考虑这样的情况)

//所以可以将上述属性封装成一个对象,存储到一个类中eg:Person

//即下面这种情况

Map m=new HashMap();

}

}

问题2

前提是我将map集合的这个方法抛弃了,选择了我的爱宠,xml文件来实现

java.lang.ClassCastException的错误问题:

-这个错误是由于我输入的银行卡号不存在xml文件中,虽然我进行了判断,但是他还是会报错

Scanner sc=new Scanner(System.in);

//得到银行卡号

System.out.println("请输入银行卡号:");

String idsc=sc.nextLine();

//通过id节点的属性得到id节点

Node idnod=(Node) d.selectObject ("//id[@id='"+idsc+"']");

//报错了

请输入银行卡号:

1234

Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.dom4j.Node

at cn.itcast.bank.Demo.userLogin(Demo.java:37)

at cn.itcast.bank.Demo.main(Demo.java:20)

原因是应为如果用户输入的是空或者说是不存在xml中的值,那么就会导致selectObject返回值不可以由Object类型(不为空,但不可以转换)强转为Node类型,返回不了该id节点,下面在对idnod这个节点进行操作就会报错啦

解决方法:

//输入银行卡号

System.out.println("请输入您的银行卡号:");

String idinput=sc.next();

//得到相对应的数据

//1、得到id

//通过id节点的属性得到id节点,并且避免了用户输入错误或输入为空的情况

List nodes = d.selectNodes ("//id[@id=&

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值