亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java如何生成4位、6位隨機(jī)數(shù)短信驗(yàn)證碼(高效實(shí)現(xiàn))

 更新時(shí)間:2022年12月29日 10:44:28   作者:liberg  
這篇文章主要介紹了Java如何生成4位、6位隨機(jī)數(shù)短信驗(yàn)證碼(高效實(shí)現(xiàn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java生成4位、6位隨機(jī)數(shù)短信驗(yàn)證碼

生成短信驗(yàn)證碼問(wèn)題,本質(zhì)是產(chǎn)生某個(gè)范圍內(nèi)隨機(jī)數(shù)的問(wèn)題。

比如,要生成6位短信驗(yàn)證碼xxxxxx:

  • 6位數(shù)最大到999999;
  • 同時(shí)為了防止位數(shù)少于6位,導(dǎo)致高位補(bǔ)0的麻煩和尷尬,我們可以特別規(guī)定,最小值為最小的6位數(shù),即100000;

這樣問(wèn)題就變成了:產(chǎn)生[100000, 999999]范圍內(nèi)的隨機(jī)數(shù)的問(wèn)題。

Java隨機(jī)數(shù)

由于Java中Random對(duì)象的nextInt(n)方法產(chǎn)生的是[0, n-1)范圍內(nèi)的隨機(jī)數(shù)。

因此要產(chǎn)生[m, n]范圍內(nèi)的隨機(jī)數(shù)就是: m + randObj.nextInt(n-m+1)

參考代碼

Random randObj = new Random();
// 生成6位隨機(jī)驗(yàn)證碼
public String generateCode() {
? ? return Integer.toString(100000 + randObj.nextInt(900000));
}
// 生成4位隨機(jī)驗(yàn)證碼
public String generateCode4() {
? ? return Integer.toString(1000 + randObj.nextInt(9000));
}

Java隨機(jī)位數(shù)的驗(yàn)證碼的生成

生活中的驗(yàn)證碼隨處可見(jiàn),尤其是在登錄賬號(hào)密碼時(shí),使用的尤為多。掌握這個(gè)方法無(wú)論對(duì)學(xué)習(xí)還是工作都是很有幫助的。

思路整理

生成由數(shù)字、大寫字母和小寫字母隨機(jī)組成的字符串。

1.我們需要?jiǎng)?chuàng)建一個(gè)方法,在方法內(nèi)實(shí)現(xiàn)隨機(jī)字母的生成,方便調(diào)用。

2.由于要生成的驗(yàn)證碼的位數(shù)不確定,可能是4位,5位,6位。因此我們需要使用for循環(huán)語(yǔ)句,

進(jìn)一步思考由于存在三種狀態(tài),數(shù)字+大寫字母+小寫字母。判斷這三種狀態(tài),最好的方法是使用switch。

3.我們?cè)谏呻S機(jī)數(shù)字或字符時(shí)需要使用random的一個(gè)方法,不了解random的同學(xué)可以去菜鳥教程或博客上搜索,它從屬于Math,這里使用的是random中的 .nextInt()方法。

代碼部分:

關(guān)于驗(yàn)證碼位數(shù),修改n即可。

不仔細(xì)的同學(xué)注意可能出現(xiàn)的報(bào)錯(cuò)情況

1.類名取用Random 導(dǎo)致出錯(cuò),修改類名即可。

2.code += ch;即是  code = code + ch;

3.A對(duì)應(yīng)的ACll 碼為65  a對(duì)應(yīng)的為97;

4.注意int 和 String 之間的強(qiáng)轉(zhuǎn);

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論