java生成随机中文_java随机生成中文

import java.io.UnsupportedEncodingException;

import java.util.Date;

import java.util.Random;

public class ChineseUtils {

private static Random random = null;

private static Random getRandomInstance() {

if (random == null) {

random = new Random(new Date().getTime());

}

return random;

}

public static String getChinese() {

String str = null;

int highPos, lowPos;

Random random = getRandomInstance();

highPos = (176 + Math.abs(random.nextInt(39)));

lowPos = 161 + Math.abs(random.nextInt(93));

byte[] b = new byte[2];

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

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

try {

str = new String(b, "GB2312");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

return str;

}

public static String getFixedLengthChinese(int length) {

String str = "";

for (int i = length; i > 0; i--) {

str = str + ChineseUtils.getChinese();

}

return str;

}

public static String getRandomLengthChiness(int start, int end) {

String str = "";

int length = new Random().nextInt(end + 1);

if (length < start) {

str = getRandomLengthChiness(start, end);

} else {

for (int i = 0; i < length; i++) {

str = str + getChinese();

}

}

return str;

}

public static void main(String args[]) {

System.out.println(ChineseUtils.getChinese());

System.out.println(ChineseUtils.getFixedLengthChinese(20));

System.out.println(ChineseUtils.getRandomLengthChiness(2, 5));

}

}

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-09-11 17:47

浏览 2164

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!可以使用Java的Date和Random类来生成某段时间内的随机时间,具体实现如下: ```java import java.util.Date; import java.util.Random; public class RandomTimeGenerator { public static void main(String[] args) { Date startDate = new Date(2021, 1, 1); // 设置起始时间 Date endDate = new Date(2021, 12, 31); // 设置结束时间 Date randomDate = generateRandomDate(startDate, endDate); // 生成随机时间 System.out.println("随机时间:" + randomDate); } /** * 生成某个时间段内的随机时间 * @param startDate 起始时间 * @param endDate 结束时间 * @return 随机时间 */ public static Date generateRandomDate(Date startDate, Date endDate) { long beginTime = startDate.getTime(); long endTime = endDate.getTime(); if (beginTime >= endTime) { throw new IllegalArgumentException("开始时间必须小于结束时间"); } long randomTime = beginTime + (long) (Math.random() * (endTime - beginTime)); // 生成随机时间戳 return new Date(randomTime); } } ``` 在上面的例子中,我们设置了起始时间为2021年1月1日,结束时间为2021年12月31日,然后调用generateRandomDate方法生成一个随机时间。该方法实现时,首先将起始时间和结束时间转换成时间戳,然后通过Random类生成一个介于两个时间戳之间的随机数,最后将随机数转换成Date类型返回。 需要注意的是,上面的代码中使用的Date类已经被标记为过时,建议使用新的Java时间API(如LocalDateTime)代替。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值