「java随机生成中文」随机生成汉字java

博主:adminadmin 2022-11-30 04:30:07 67

今天给各位分享java随机生成中文的知识,其中也会对随机生成汉字java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java怎么随机生成中文地址

java随机生成中文地址需要加个循环执行的代码即可。根据查询相关公开信息显示生成中文需要加循环执行以下代码即可packagecomfdyutils、importlombokexperimentalUtilityClass。Java生成指定范围随机数的方法:利用Mathrandom。

java生成随机数

import java.util.Random;

public class RandomCreator {

/**

 * 获取给定范围的随机数(范围只能在1~99之间)

 * @param start 范围开始位置(1start99)

 * @param end 范围结束位置(1startend99)

 * @return String 数字的大写形式(如:11--壹拾壹)

 */

public static String getRandom(int start,int end)

{

Random random = new Random();

int randomInt = random.nextInt(end);

while(randomIntstart)

{

randomInt = random.nextInt(end);

}

return convertInt(randomInt);

}

/**

 * 转换获取的随机数(如:11--壹拾壹)

 * @param num 随机数

 * @return String 转换后的结果

 */

public static String convertInt(Integer num)

{

String[] wordArray = new String[]{"壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"};

StringBuffer buff = new StringBuffer();

int shiwei = (num/10)-1;

int gewei = (num%10)-1;

buff.append(wordArray[shiwei]).append(wordArray[9]).append(wordArray[gewei]);

return buff.toString();

}

public static void main(String[] args) {

//测试,注意方法给定的范围

System.out.println(getRandom(1,55));

}

}

这个类的方法应该能实现你说的功能,界面按钮这些,你可以自己去写,上面的代码放到Servlet中就可以了。

java 写一个在数组随机产生的汉字

用随机器生成一个小于数组长度的数字,然后arr[n]获取就行了。

java中的数字,字母,汉字如何随机生成

数字,字母比较简单。

//手写的,省略了一部分String szzm = "0123...789abc...xyzABC...XYZ"; StringBuilder bu = new StringBuilder();for(int i = 0;i6;i++){ bu.append(szzm.charAt(new Random().nextInt(szzm.length())));}System.out.println(bu.toString());

汉字复杂一些。我的方法是数字区间,19968~40869 之间 int 转char 都会变成汉字。

不过这个范围有点大,2w多汉字,有繁体的,还有生僻字。 如果不怕麻烦,汉字也可和数字一样,弄个汉字表。

StringBuilder bu = new StringBuilder();int base = 19968;int qujian = 40869 - 19968;for(int i = 0;i6;i++){ int rand = base + new Random().nextInt(qujian); bu.append((char)rand);}System.out.println(bu.toString());

如何在java中随机生成常用汉字

/**

* 原理是从汉字区位码找到汉字。在汉字区位码中分高位与底位, 且其中简体又有繁体。位数越前生成的汉字繁体的机率越大。

* 所以在本例中高位从171取,底位从161取, 去掉大部分的繁体和生僻字。但仍然会有!!

*

*/

@Test

public void create() throws Exception {

String str = null;

int hightPos, lowPos; // 定义高低位

Random random = new Random();

hightPos = (176 + Math.abs(random.nextInt(39)));//获取高位值

lowPos = (161 + Math.abs(random.nextInt(93)));//获取低位值

byte[] b = new byte[2];

b[0] = (new Integer(hightPos).byteValue());

b[1] = (new Integer(lowPos).byteValue());

str = new String(b, "GBk");//转成中文

System.err.println(str);

}

/**

* 旋转和缩放文字

* 必须要使用Graphics2d类

*/

public void trans(HttpServletRequest req, HttpServletResponse resp) throws Exception{

int width=88;

int height=22;

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

Graphics g = img.getGraphics();

Graphics2D g2d = (Graphics2D) g;

g2d.setFont(new Font("黑体",Font.BOLD,17));

Random r = new Random();

for(int i=0;i4;i++){

String str = ""+r.nextInt(10);

AffineTransform aff = new AffineTransform();

aff.rotate(Math.random(),i*18,height-5);

aff.scale(0.6+Math.random(), 0.6+Math.random());

g2d.setTransform(aff);

g2d.drawString(str,i*18,height-5);

System.err.println(":"+str);

}

g2d.dispose();

ImageIO.write(img, "JPEG",resp.getOutputStream());

}

关于java随机生成中文和随机生成汉字java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。