本文实例讲述了java随机生成一个名字和对应拼音的方法。分享给大家供大家参考。具体如下:

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]="风|feng";

sName[15]="符|fu";

sName[16]="福|fu";

sName[17]="高|gao";

sName[18]="古|gu";

sName[19]="关|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]="万|wan";

sName[64]="王|wang";

sName[65]="魏|wei";

sName[66]="卫|wei";

sName[67]="吴|wu";

sName[68]="武|wu";

sName[69]="萧|xiao";

sName[70]="肖|xiao";

sName[71]="项|xiang";

sName[72]="许|xu";

sName[73]="徐|xu";

sName[74]="薛|xue";

sName[75]="杨|yang";

sName[76]="羊|yang";

sName[77]="阳|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]="独孤|dugu";

sName[88]="慕容|murong";

sName[89]="欧阳|ouyang";

sName[90]="司马|sima";

sName[91]="西门|ximen";

sName[92]="尉迟|yuchi";

sName[93]="长孙|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|表标彪飚飙";

Name[10]="bian|边卞弁忭";

Name[11]="bu|步不";

Name[12]="cao|曹草操漕";

Name[13]="cang|苍仓";

Name[14]="chang|常长昌敞玚";

Name[15]="chi|迟持池赤尺驰炽";

Name[16]="ci|此次词茨辞慈";

Name[17]="du|独都";

Name[18]="dong|东侗";

Name[19]="dou|都";

Name[20]="fa|发乏珐";

Name[21]="fan|范凡反泛帆蕃";

Name[22]="fang|方访邡昉";

Name[23]="feng|风凤封丰奉枫峰锋";

Name[24]="fu|夫符弗芙";

Name[25]="gao|高皋郜镐";

Name[26]="hong|洪红宏鸿虹泓弘";

Name[27]="hu|虎忽湖护乎祜浒怙";

Name[28]="hua|化花华骅桦";

Name[29]="hao|号浩皓蒿浩昊灏淏";

Name[30]="ji|积极济技击疾及基集记纪季继吉计冀祭际籍绩忌寂霁稷玑芨蓟戢佶奇诘笈畿犄";

Name[31]="jian|渐剑见建间柬坚俭";

Name[32]="kan|刊戡";

Name[33]="ke|可克科刻珂恪溘牁";

Name[34]="lang|朗浪廊琅阆莨";

Name[35]="li|历离里理利立力丽礼黎栗荔沥栎璃";

Name[36]="lin|临霖林琳";

Name[37]="ma|马";

Name[38]="mao|贸冒貌冒懋矛卯瑁";

Name[39]="miao|淼渺邈";

Name[40]="nan|楠南";

Name[41]="pian|片翩";

Name[42]="qian|潜谦倩茜乾虔千";

Name[43]="qiang|强羌锖玱";

Name[44]="qin|亲琴钦沁芩矜";

Name[45]="qing|清庆卿晴";

Name[46]="ran|冉然染燃";

Name[47]="ren|仁刃壬仞";

Name[48]="sha|沙煞";

Name[49]="shang|上裳商";

Name[50]="shen|深审神申慎参莘";

Name[51]="shi|师史石时十世士诗始示适炻";

Name[52]="shui|水";

Name[53]="si|思斯丝司祀嗣巳";

Name[54]="song|松颂诵";

Name[55]="tang|堂唐棠瑭";

Name[56]="tong|统通同童彤仝";

Name[57]="tian|天田忝";

Name[58]="wan|万宛晚";

Name[59]="wei|卫微伟维威韦纬炜惟玮为";

Name[60]="wu|吴物务武午五巫邬兀毋戊";

Name[61]="xi|西席锡洗夕兮熹惜";

Name[62]="xiao|潇萧笑晓肖霄骁校";

Name[63]="xiong|熊雄";

Name[64]="yang|羊洋阳漾央秧炀飏鸯";

Name[65]="yi|易意依亦伊夷倚毅义宜仪艺译翼逸忆怡熠沂颐奕弈懿翊轶屹猗翌";

Name[66]="yin|隐因引银音寅吟胤訚烟荫";

Name[67]="ying|映英影颖瑛应莹郢鹰";

Name[68]="you|幽悠右忧猷酉";

Name[69]="yu|渔郁寓于余玉雨语预羽舆育宇禹域誉瑜屿御渝毓虞禺豫裕钰煜聿";

Name[70]="zhi|制至值知质致智志直治执止置芝旨峙芷挚郅炙雉帜";

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 自动生成方法存根

//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;

}

}

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内置对象!)

//设置页面不缓存

response.setHeader("Pragma","No-cache");

response.setHeader("Cache-Control","no-cache");

response.setDateHeader("Expires", 0);

// 在内存中创建图象

int width=100, height=35;

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

// 获取图形上下文

Graphics g = image.getGraphics();

//生成随机类

Random random = new Random();

// 设定背景色

g.setColor(getRandColor(200,250));

g.fillRect(0, 0, width, height);

//设定字体

g.setFont(new Font("黑体",Font.PLAIN,18));

// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到

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);

//画边框

g.setColor(Color.black);

g.drawRect(0,0,width-1,height-1);

// 将认证码存入SESSION 防止被窃取,可以使用密钥加密

session.removeAttribute("gsrand");

session.setAttribute("gsrand",sRand);

// 图象生效

g.dispose();

// 输出图象到页面

ImageIO.write(image, "JPEG", response.getOutputStream());%>

希望本文所述对大家的java程序设计有所帮助。

java随机生成名字_java随机生成一个名字和对应拼音的方法相关推荐

  1. java 随机生成手机号_Java随机密码生成并和邮箱、手机号匹配

    废话不多说了,直接给大家贴java代码了,代码有所注释,写的不好,还请各位大家多多关照. 代码如下所示: package com.alibaba.uyuni.common.util; import j ...

  2. java 8位随机数_JAVA中生成指定位数随机数的方法总结

    JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...

  3. java随机访问流_java 随机读写访问流及seek方法

    package stream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOExceptio ...

  4. java老鸟123怎么样_java入门123——一个老鸟的java学习心得.doc

    java入门123--一个老鸟的java学习心得 java入门123--一个老鸟的java学习心得 篇一:java初学者学习心得 学习Java心得体会 学习了一学期的Java课程,觉得是该总结自己的心 ...

  5. java调用包中的类_java调用另一个包中的类的方法

    java调用另一个包中的类的方法 发布时间:2020-05-18 15:04:40 来源:亿速云 阅读:199 作者:小新 今天小编给大家分享的是java调用另一个包中的类的方法,相信很多人都不太了解 ...

  6. java怎么输入字符_java怎么输入一个字符

    思路: 先创建一个Scanner对象,调用Scanner对象的next()方法获取控制台输入的字符串,返回的是一个String类型,因为没有nextChar()方法,所以调用String的charAt ...

  7. java 字符串 字符查找_java之字符串中查找字串的常见方法

    1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. int indexOf(String str, int startIndex):从指定的索引处开 ...

  8. java equals重写原则_java中为何重写equals时必须重写hashCode方法详解

    前言 大家都知道,equals和hashcode是java.lang.Object类的两个重要的方法,在实际应用中常常需要重写这两个方法,但至于为什么重写这两个方法很多人都搞不明白. 在上一篇博文Ja ...

  9. java如何遍历字典_Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  10. java 随机生成图_java – 如何生成随机图?

    我希望能够在 Java中生成随机,无向和连接的图形.另外,我希望能够控制图中的最大顶点数.我不确定解决这个问题的最佳方法是什么,但这里有一些我能想到的: (1)生成一个介于0和n之间的数字,并将其作为 ...

最新文章

  1. postergresql mysql_PosttgreSQL快速入门:PostgreSQL的安装和配置
  2. centos 6.0 启动失败提示。
  3. wso2_使用WSO2 ESB进行邮件内容过滤
  4. JavaScript EventLoop
  5. [LeetCode] 303. Range Sum Query - Immutable
  6. linux双机(多机)自动互备份方案
  7. 还在做互联网创业梦?醒醒!
  8. 论文阅读课1-Attention Guided Graph Convolutional Networks for Relation Extraction(关系抽取,图卷积,ACL2019,n元)
  9. 你是怎么看待那些拿几千块钱炒股的人?
  10. android无网络状态栏,Android中检查网络连接状态的变化,无网络时跳转到设置界面...
  11. Windows 10 系统下配置java的classpath
  12. 普林斯顿微积分读本篇三:极限导论
  13. This account is currently not available 解决办法
  14. 网络广告的效果测定与评估
  15. tv 斐讯n1原生android_斐讯T1刷原生安卓TV
  16. 智能家居雷声越来越大 雨点还是那么小
  17. 面向对象---抽象和封装
  18. 获取美元人民币实时汇率-Python版
  19. 9个酒瓶子砸向Google:google不做坏事么?
  20. 海康威视启用码流加密_如何在Windows 10上启用全盘加密

热门文章

  1. 2020年阴历二月二十九 投资理财~业余投资者如果不深入研究财报该怎么办?
  2. 提取win10默认锁屏壁纸
  3. 十五、移动端vw+rem等比缩放布局开发的详细步骤:包含px与rem的单位换算、二倍图以及如何使用UI给的设计稿等(开发工具HBuilder)
  4. Win 10 Edge不能上网,微软商店打不开的问题
  5. mysql临时表更新_MySql 临时表
  6. 性能测试工具篇(开源商业)
  7. 奇思妙想,获取对方手机通信录
  8. [RFID]射频识别技术基础
  9. 1024:为什么这些游戏这么火?
  10. vue用vue-qart生产二维码