六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 35|回复: 0

贴一段生产随机汉字的代码

[复制链接]

升级  24%

20

主题

20

主题

20

主题

秀才

Rank: 2

积分
86
 楼主| 发表于 2013-2-4 20:01:59 | 显示全部楼层 |阅读模式
package com;import java.util.*;public class Ran {public static void main(String[] args) {// TODO Auto-generated method stubRandom r=new Random(new Date().getTime()+100);System.out.println(r.nextInt(10000));System.out.println("生成的汉字为:"+getChinese());}public static String getChinese(){Random random=new Random();String ctmp="";String[] rBase={"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};//生成第一位区码int r1=random.nextInt(3)+11;String str_r1=rBase[r1];//生成第二位区码int r2;if(r1==13){r2=random.nextInt(7);}else{r2=random.nextInt(16);}String str_r2=rBase[r2];//第三位的位码int r3=random.nextInt(6)+10;String str_r3=rBase[r3];//第四位的位码int r4;if(r3==10){r4=random.nextInt(15)+1;}else if(r3==15){r4=random.nextInt(15);}else{r4=random.nextInt(16);}String str_r4=rBase[r4];byte[] bytes=new byte[2];  //定义二维数组,用以保存汉字String str_r12=str_r1+str_r2;int tempLow=Integer.parseInt(str_r12,16); bytes[0]=(byte)tempLow;String str_r34=str_r3+str_r4;int tempHigh=Integer.parseInt(str_r34,16);bytes[1]=(byte)tempHigh;ctmp=new String(bytes);return ctmp;}} 
随机生成的汉字可以用来作为验证码,记录在这里,方便以后要用 。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表