1. 请教各位高手-关于接受用户输入19位银行卡号储存的问题 我是一个java初学者,现在正在做一个网上银行交易
看来你陷入了一个误区,就是因为卡号全是数字,所以就一定要有数字类型来存储,其实完全可以把用户的卡号当做一个字符串来处理(只不过这个字符串里只有数字型字符),这样做起来,就不会再存在位数不够的情况了。
另外,对你的说法有一点疑惑,在用户登录的时候,要求输入卡号,进行验证,但这个时候还没登录系统呢,怎么可能是哪个用户呢?更不要说原始卡号了啊。只有通过验证之后,才能知道用户的原始卡号是多少啊。
如果你现在对式样还比较模糊,最好更详细地说明一下,也好真对实际情况来帮你想办法
2. java控制台输入银行卡是卡号随机数怎么弄啊,求代码,没有思路,谢谢高手。
这个很简单,用Java的Math.Random函数。
因为你要控制9位数字,并且第一位不是0,所以随机数就是100000000~999999999之间产生。
而Math.Random函数产生的随机数范围是[0,1), 所以用一个函数就可以产生了:
String bankaccount = String.valueOf(Math.round(Math.random()*900000000+100000000));
这里注意一点:
1. 后面加多少(比方说+100),就说明随机数从哪个开始取
2. 那个乘数是最大的要达到的数值(当然你要加上基数,就是+100的值)。
3. 因为随机数区间是[0,1), 所以1是达不到的,所以应该*900000000, 而不是*899999999.
3. java正则表达式判断是否为银行卡卡号
银行卡卡来号没法判断,自
只能根据这个号码有什么特点 进行正则式判断。
比如银行卡特点是一共19位,都是数字。
正则式就是"^\d{19}$"
System.out.println(st.matches("^\d{19}$"));
如果不是19位数字则打印出false,如果是,则打印出true
(其他还有什么特点吗,不同银行可能有各自的特点,这个你要去问银行)
4. java根据银行卡号判断银行卡属于哪个银行
上面和下面两数组一一对应,你只要截取银行卡号前六位,去第一个数组找,找到下标,在去第二个数组找对应下标的值,就可以获得