java中随机生成汉字

main方法中使用:

//随机生成100个汉字

String ss="";
for(int i=0;i<100;i++){
ss+=getChinese(i);
}
System.out.println(ss);

结果如图:

//随机生成汉字
//seed指定Random(long seed)中的种子数
public static String getChinese(long seed)
throws UnsupportedEncodingException
{
String str=null;
int highpos,lowpos;
Random random=new Random(seed);
highpos=(176+Math.abs(random.nextInt(39)));
lowpos=(161+Math.abs(random.nextInt(93)));
byte[] bb=new byte[2];
bb[0]=new Integer(highpos).byteValue();
bb[1]=new Integer(lowpos).byteValue();
//String(byte[] bytes, Charset charset)
//通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。
str=new String(bb,"GBK");
return str;
}

这里有个关于讲解汉字区位码以及GB2312的背景知识,感兴趣的可以参考一下,里面有个利用c#程序编写的汉字生成器.

链接:http://www.cnblogs.com/skyivben/archive/2012/10/20/2732484.html

时间: 2024-11-03 21:50:52

java中随机生成汉字的相关文章

java中随机生成随机数及不重复的随机数字

Java中产生随机数 1 . 调用java.lang下面Math类中的random()方法产生随机数 public class MyRandom { public static void main(String[] args) { int  radom = (int)(Math.random()*10); System.out.println(radom); } } 其中Math.random() //产生0~1之间的一个随机小数. 产生一个0~9之间的整数为:(int)(Math.random

java中随机生成字符串的方法(三种)

1.生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random; //length用户要求产生字符串的长度 public static String getRandomString(int length){ String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random=new Random(); StringB

在java中随机生成一个无序且长度不大于10的字符串

package xiangmu; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public class TestCollection { /* * 通过定义Collections.sort()方法对String泛型进行List排序 * 创建一个String泛型List,插入一个不超过10的随机字符串 */ /** * @param

Java中动态生成当前日期的文件

1.Java中动态生成当前日期的文件名称并且将控制台的输出信息输入到文件中     public static void SaveClonseToFile() throws IOException, FileNotFoundException {         File f = new File(getCurrentDateFileName() + ".txt");         f.createNewFile();         FileOutputStream fileOut

在1-10000中随机生成100个数

题意:在1-10000中随机生成100个数,1-10000已经放在数组中,要求时间和空间都要O(1). 思路:因为空间要O(1),所以我们可以想到这一定是在原本数组的基础上操作,时间也要O(1)的话,证明我们无法Hash后再判重.所以我们可以这么想用一个指针表示目前已经生成好的随机数,那么这个指针从1开始,每次都从剩下的数中随机取一个和当前指针交换就可以完成了,自己写了代码,有错求指出来. import java.util.ArrayList; import java.util.HashSet;

java中如何生成可执行的jar文件

java中如何生成可执行的jar文件 最简单的方法就是: jar -cfe Card.jar CardLayoutDemo CardLayoutDemo$1.class CardLayoutDemo$myAct ionListener.class CardLayoutDemo.class myClosingListener.class myPanel.class jar命令为java自带的专用打包工具: c代表生成新的jar包: e代表可执行的类,亦即main方法所在的类.如果该类有所属的包,书

Java代码实现随机生成汉字

一.背景知识 GB 2312-80 是中国国家标准简体中文字符集,全称<信息交换用汉字编码字符集·基本集>,由中国国家标准总局发布,1981年5月1日实施.GB2312 编码通行于中国大陆:新加坡等地也采用此编码.中国大陆几乎所有的中文系统和国际化的软件都支持 GB 2312. GB2312 标准共收录 6763 个汉字,其中一级汉字 3755 个,二级汉字 3008 个:同时收录了包括拉丁字母.希腊字母.日文平假名及片假名字母.俄语西里尔字母在内的 682 个字符.GB2312 的出现,基本

Java中如何生成随机数

Java中提供了一个获取随机数的一个类(Math) Math:此类在java.lang包下,jvm会自动导入,所以无需import导包 生成随机数要使用Math类下的方法:random() 方法的返回值是[0.0 - 1.0) 1.获取上述范围内的随机数: double d = Math.random(); 注:上述式子若写成下面这样,那么i的值只会是0:因为Math.random()生成的随机数范围为[0.0 - 1.0),此时无论随机数为何值转为int时值只会是0 int i = (int)

c#随机生成汉字、字母、数字

/// <summary> /// 替换变量 /// </summary> /// <param name="content"></param> /// <returns></returns> public static string replaceBianLiang(string content) { content = content.Replace("{当前时间}", DateTime.N