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根據銀行卡號判斷銀行卡屬於哪個銀行
上面和下面兩數組一一對應,你只要截取銀行卡號前六位,去第一個數組找,找到下標,在去第二個數組找對應下標的值,就可以獲得