「java随机生成中文」随机生成汉字java
今天给各位分享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的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。