java生成4位随机数(含字母)

本文介绍了一个算法,用于从一个包含大小写字母和数字的字符串中生成随机排列,并从中提取特定长度的子串。
  1. private String generateWord() {  
  2.         String[] beforeShuffle = new String[] { "2""3""4""5""6""7",  
  3.                 "8""9""A""B""C""D""E""F""G""H""I""J",  
  4.                 "K""L""M""N""O""P""Q""R""S""T""U""V",  
  5.                 "W""X""Y""Z" };  
  6.         List list = Arrays.asList(beforeShuffle);  
  7.         Collections.shuffle(list);  
  8.         StringBuilder sb = new StringBuilder();  
  9.         for (int i = 0; i < list.size(); i++) {  
  10.             sb.append(list.get(i));  
  11.         }  
  12.         String afterShuffle = sb.toString();  
  13.         String result = afterShuffle.substring(59);  
  14.         return result;  
  15.     }  
以下是几种 Java 生成 7 随机数的方法: #### 方法一:使用 `Random` 类生成 7 随机数 ```java import java.util.Random; class RandomNumberGenerator { public static String makeNum() { Random random = new Random(); String num = String.valueOf(random.nextInt(9999999)); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 7 - num.length(); i++) { sb.append("0"); } num = sb.toString() + num; return num; } } ``` 这种方法先生成一个小于 9999999 的随机整数,然后将其转换为字符串。如果生成数字不足 7 ,就在前面补零,最终得到一个 7 的字符串形式的随机数。该方法来自于对生成 7 随机数的示例代码[^2]。 #### 方法二:使用 `Math.random()` 方法生成 7 随机数 ```java class MathRandomGenerator { public static String generateSevenDigitNumber() { double randomDouble = Math.random() * 9000000 + 1000000; int randomInt = (int) randomDouble; return String.format("%07d", randomInt); } } ``` `Math.random()` 方法会返回一个 `[0, 1)` 范围内的随机双精度浮点数。将其乘以 9000000 后再加上 1000000,就可以得到一个 `[1000000, 10000000)` 范围内的随机数,然后将其转换为整数并格式化为 7 字符串。 #### 方法三:从字符集生成 7 随机字符串(包数字字母) ```java import java.util.Random; class RandomStringGenerator { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static String generateRandomString() { Random random = new Random(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 7; i++) { int index = random.nextInt(ALLCHAR.length()); sb.append(ALLCHAR.charAt(index)); } return sb.toString(); } } ``` 该方法定义了一个包数字大小写字母的字符集 `ALLCHAR`,然后通过 `Random` 类随机选择字符集中的字符,拼接成一个 7 随机字符串[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值