java隨機(jī)生成一個(gè)名字和對(duì)應(yīng)拼音的方法
本文實(shí)例講述了java隨機(jī)生成一個(gè)名字和對(duì)應(yīng)拼音的方法。分享給大家供大家參考。具體如下:
package com.cn.wangk.util.name; import java.util.Random; import com.cn.wangk.util.StrTools; public class ChineseName { String[] sName = new String[95]; String[] Name = new String[79]; private String Names; private String Pid; public ChineseName() { sName[0]="白|bai"; sName[1]="白|bai"; sName[2]="蔡|cai"; sName[3]="曹|cao"; sName[4]="陳|chen"; sName[5]="戴|dai"; sName[6]="竇|dou"; sName[7]="鄧|deng"; sName[8]="狄|di"; sName[9]="杜|du"; sName[10]="段|duan"; sName[11]="范|fan"; sName[12]="樊|fan"; sName[13]="房|fang"; sName[14]="風(fēng)|feng"; sName[15]="符|fu"; sName[16]="福|fu"; sName[17]="高|gao"; sName[18]="古|gu"; sName[19]="關(guān)|guan"; sName[20]="郭|guo"; sName[21]="毛|mao"; sName[22]="韓|han"; sName[23]="胡|hu"; sName[24]="花|hua"; sName[25]="洪|hong"; sName[26]="侯|hou"; sName[27]="黃|huang"; sName[28]="賈|jia"; sName[29]="蔣|jiang"; sName[30]="金|jin"; sName[31]="廖|liao"; sName[32]="梁|liang"; sName[33]="李|li"; sName[34]="林|lin"; sName[35]="劉|liu"; sName[36]="龍|long"; sName[37]="陸|lu"; sName[38]="盧|lu"; sName[39]="羅|luo"; sName[40]="馬|ma"; sName[41]="牛|niu"; sName[42]="龐|pang"; sName[43]="裴|pei"; sName[44]="彭|peng"; sName[45]="戚|qi"; sName[46]="齊|qi"; sName[47]="錢|qian"; sName[48]="喬|qiao"; sName[49]="秦|qin"; sName[50]="邱|qiu"; sName[51]="裘|qiu"; sName[52]="仇|qiu"; sName[53]="沙|sha"; sName[54]="商|shang"; sName[55]="尚|shang"; sName[56]="邵|shao"; sName[57]="沈|shen"; sName[58]="師|shi"; sName[59]="施|shi"; sName[60]="宋|song"; sName[61]="孫|sun"; sName[62]="童|tong"; sName[63]="萬(wàn)|wan"; sName[64]="王|wang"; sName[65]="魏|wei"; sName[66]="衛(wèi)|wei"; sName[67]="吳|wu"; sName[68]="武|wu"; sName[69]="蕭|xiao"; sName[70]="肖|xiao"; sName[71]="項(xiàng)|xiang"; sName[72]="許|xu"; sName[73]="徐|xu"; sName[74]="薛|xue"; sName[75]="楊|yang"; sName[76]="羊|yang"; sName[77]="陽(yáng)|yang"; sName[78]="易|yi"; sName[79]="尹|yin"; sName[80]="俞|yu"; sName[81]="趙|zhao"; sName[82]="鐘|zhong"; sName[83]="周|zhou"; sName[84]="鄭|zheng"; sName[85]="朱|zhu"; sName[86]="東方|dongfang"; sName[87]="獨(dú)孤|dugu"; sName[88]="慕容|murong"; sName[89]="歐陽(yáng)|ouyang"; sName[90]="司馬|sima"; sName[91]="西門(mén)|ximen"; sName[92]="尉遲|yuchi"; sName[93]="長(zhǎng)孫|zhangsun"; sName[94]="諸葛|zhuge"; Name[0]="ai|皚艾哀"; Name[1]="an|安黯諳"; Name[2]="ao|奧傲敖驁翱"; Name[3]="ang|昂盎"; Name[4]="ba|罷霸"; Name[5]="bai|白佰"; Name[6]="ban|斑般"; Name[7]="bang|邦"; Name[8]="bei|北倍貝備"; Name[9]="biao|表標(biāo)彪飚飆"; Name[10]="bian|邊卞弁忭"; Name[11]="bu|步不"; Name[12]="cao|曹草操漕"; Name[13]="cang|蒼倉(cāng)"; Name[14]="chang|常長(zhǎng)昌敞玚"; Name[15]="chi|遲持池赤尺馳熾"; Name[16]="ci|此次詞茨辭慈"; Name[17]="du|獨(dú)都"; Name[18]="dong|東侗"; Name[19]="dou|都"; Name[20]="fa|發(fā)乏琺"; Name[21]="fan|范凡反泛帆蕃"; Name[22]="fang|方訪邡昉"; Name[23]="feng|風(fēng)鳳封豐奉楓峰鋒"; Name[24]="fu|夫符弗芙"; Name[25]="gao|高皋郜鎬"; Name[26]="hong|洪紅宏鴻虹泓弘"; Name[27]="hu|虎忽湖護(hù)乎祜滸怙"; Name[28]="hua|化花華驊樺"; Name[29]="hao|號(hào)浩皓蒿浩昊灝淏"; Name[30]="ji|積極濟(jì)技擊疾及基集記紀(jì)季繼吉計(jì)冀祭際籍績(jī)忌寂霽稷璣芨薊戢佶奇詰笈畿犄"; Name[31]="jian|漸劍見(jiàn)建間柬堅(jiān)儉"; Name[32]="kan|刊戡"; Name[33]="ke|可克科刻珂恪溘牁"; Name[34]="lang|朗浪廊瑯閬莨"; Name[35]="li|歷離里理利立力麗禮黎栗荔瀝櫟璃"; Name[36]="lin|臨霖林琳"; Name[37]="ma|馬"; Name[38]="mao|貿(mào)冒貌冒懋矛卯瑁"; Name[39]="miao|淼渺邈"; Name[40]="nan|楠南"; Name[41]="pian|片翩"; Name[42]="qian|潛謙倩茜乾虔千"; Name[43]="qiang|強(qiáng)羌錆玱"; Name[44]="qin|親琴欽沁芩矜"; Name[45]="qing|清慶卿晴"; Name[46]="ran|冉然染燃"; Name[47]="ren|仁刃壬仞"; Name[48]="sha|沙煞"; Name[49]="shang|上裳商"; Name[50]="shen|深審神申慎參莘"; Name[51]="shi|師史石時(shí)十世士詩(shī)始示適炻"; Name[52]="shui|水"; Name[53]="si|思斯絲司祀嗣巳"; Name[54]="song|松頌誦"; Name[55]="tang|堂唐棠瑭"; Name[56]="tong|統(tǒng)通同童彤仝"; Name[57]="tian|天田忝"; Name[58]="wan|萬(wàn)宛晚"; Name[59]="wei|衛(wèi)微偉維威韋緯煒惟瑋為"; Name[60]="wu|吳物務(wù)武午五巫鄔兀毋戊"; Name[61]="xi|西席錫洗夕兮熹惜"; Name[62]="xiao|瀟蕭笑曉肖霄驍校"; Name[63]="xiong|熊雄"; Name[64]="yang|羊洋陽(yáng)漾央秧煬飏鴦"; Name[65]="yi|易意依亦伊夷倚毅義宜儀藝譯翼逸憶怡熠沂頤奕弈懿翊軼屹猗翌"; Name[66]="yin|隱因引銀音寅吟胤訚煙蔭"; Name[67]="ying|映英影穎瑛應(yīng)瑩郢鷹"; Name[68]="you|幽悠右憂猷酉"; Name[69]="yu|漁郁寓于余玉雨語(yǔ)預(yù)羽輿育宇禹域譽(yù)瑜嶼御渝毓虞禺豫裕鈺煜聿"; Name[70]="zhi|制至值知質(zhì)致智志直治執(zhí)止置芝旨峙芷摯郅炙雉幟"; Name[71]="zhong|中忠鐘衷"; Name[72]="zhou|周州舟胄繇晝"; Name[73]="zhu|竹主駐足朱祝諸珠著竺"; Name[74]="zhuo|卓灼灼拙琢濯斫擢焯酌"; Name[75]="zi|子資茲紫姿孜梓秭"; Name[76]="zong|宗樅"; Name[77]="zu|足族祖卒"; Name[78]="zuo|作左佐笮鑿"; } public void GetName(){ Random random = new Random(); int i = random.nextInt(94); String[] names = StrTools.split(sName[i],"|"); String id = names[0]; String pid = names[1]; String[] mingzi1 = this.GetNameKey(); id = id+mingzi1[1]; pid = pid+mingzi1[0]; if(random.nextInt(2)==1){ mingzi1 = this.GetNameKey(); id = id+mingzi1[1]; pid = pid+mingzi1[0]+","; } this.Names=id; this.Pid=pid; } private String[] GetNameKey(){ Random random = new Random(); int i = random.nextInt(78); String[] names = StrTools.split(Name[i],"|"); String[] mingzi = new String[2]; mingzi[0] = names[0]; mingzi[1] = this.Getkey(names[1]); return mingzi; } private String Getkey(String Name){ if(StrTools.CheckStrNull(Name)) return null; int counti = Name.length(); Random random = new Random(); int i = random.nextInt(counti); return Name.substring(i,i+1); } /** * @param args */ public static void main(String[] args) { // TODO 自動(dòng)生成方法存根 //ChineseName chineseName = new ChineseName(); int j=0; for(int i=0;i<10000;i++){ if(j==50){ j=0; System.out.println(); } j++; //System.out.print(chineseName.GetName()+","); } } public String getNames() { return Names; } public void setNames(String names) { Names = names; } public String getPid() { return Pid; } public void setPid(String pid) { Pid = pid; } }
<%@ page contentType="image/jpeg;charset=UTF-8"%> <%@ page import="java.awt.*"%> <%@ page import="java.awt.image.*"%> <%@ page import="java.util.*"%> <%@ page import="javax.imageio.*"%> <%@page import="com.cn.wangk.util.name.ChineseName"%> <%! Color getRandColor(int fc,int bc){//給定范圍獲得隨機(jī)顏色 Random random = new Random(); if(fc>255) fc=255; if(bc>255) bc=255; int r=fc+random.nextInt(bc-fc); int g=fc+random.nextInt(bc-fc); int b=fc+random.nextInt(bc-fc); return new Color(r,g,b); } %> <% out.clear(); out=pageContext.pushBody();//即可(其中out,pageContext均為jsp內(nèi)置對(duì)象!) //設(shè)置頁(yè)面不緩存 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); // 在內(nèi)存中創(chuàng)建圖象 int width=100, height=35; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 獲取圖形上下文 Graphics g = image.getGraphics(); //生成隨機(jī)類 Random random = new Random(); // 設(shè)定背景色 g.setColor(getRandColor(200,250)); g.fillRect(0, 0, width, height); //設(shè)定字體 g.setFont(new Font("黑體",Font.PLAIN,18)); // 隨機(jī)產(chǎn)生155條干擾線,使圖象中的認(rèn)證碼不易被其它程序探測(cè)到 g.setColor(getRandColor(160,200)); for (int i=0;i<155;i++) { int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x,y,x+xl,y+yl); } ChineseName chineseName = new ChineseName(); chineseName.GetName(); String sRand = chineseName.getNames(); String pid = chineseName.getPid(); //g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110))); g.setColor(Color.BLACK); g.drawString(sRand,5,18); g.setFont(new Font("黑體",Font.PLAIN,12)); g.drawString(pid,5,30); //畫(huà)邊框 g.setColor(Color.black); g.drawRect(0,0,width-1,height-1); // 將認(rèn)證碼存入SESSION 防止被竊取,可以使用密鑰加密 session.removeAttribute("gsrand"); session.setAttribute("gsrand",sRand); // 圖象生效 g.dispose(); // 輸出圖象到頁(yè)面 ImageIO.write(image, "JPEG", response.getOutputStream());%>
希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。
- Java隨機(jī)生成姓名,手機(jī)號(hào),住址代碼示例
- JAVA編程實(shí)現(xiàn)隨機(jī)生成指定長(zhǎng)度的密碼功能【大小寫(xiě)和數(shù)字組合】
- java隨機(jī)生成8位數(shù)授權(quán)碼的實(shí)例
- 微信隨機(jī)生成紅包金額算法java版
- Java隨機(jī)生成手機(jī)短信驗(yàn)證碼的方法
- java實(shí)現(xiàn)隨機(jī)生成UUID
- java隨機(jī)生成字符串(字符隨機(jī)生成類 生成隨機(jī)字符組合)
- Java 隨機(jī)生成驗(yàn)證碼(支持大小寫(xiě)字母、數(shù)字、隨機(jī)字體)的實(shí)例
- java隨機(jī)生成時(shí)間字符串的方法
相關(guān)文章
詳解Spring框架注解掃描開(kāi)啟之配置細(xì)節(jié)
本篇文章主要介紹了詳解Spring框架注解掃描開(kāi)啟之配置細(xì)節(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08java string類型轉(zhuǎn)換boolean類型的方法
下面小編就為大家?guī)?lái)一篇java string類型轉(zhuǎn)換boolean類型的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11token工作機(jī)制及原理附Java生成token工具類
這篇文章介紹了token工作機(jī)制及原理,內(nèi)附Java生成token工具類Demo。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12WebClient拋UnsupportedMediaTypeException異常解決
這篇文章主要為大家介紹了WebClient拋UnsupportedMediaTypeException異常的解決方案,文中給大家介紹了六中方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02java 中RSA的方式實(shí)現(xiàn)非對(duì)稱加密的實(shí)例
這篇文章主要介紹了java 中RSA的方式實(shí)現(xiàn)非對(duì)稱加密的實(shí)例的相關(guān)資料,這里提供實(shí)例幫助大家理解這部分知識(shí),需要的朋友可以參考下2017-08-08詳解Java的Spring框架下bean的自動(dòng)裝載方式
這篇文章主要介紹了Java的Spring框架下bean的自動(dòng)裝載方式,Spring是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下2015-12-12java實(shí)現(xiàn)socket客戶端連接服務(wù)端
本文是個(gè)人剛剛開(kāi)始學(xué)習(xí)如何通過(guò)socket去發(fā)送信息下邊的案例,也是書(shū)上的在這留下筆記,最后附上一個(gè)實(shí)例,有需要的小伙伴可以參考下。2015-10-10SpringBoot解析指定Yaml配置文件的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了SpringBoot解析指定Yaml配置文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03