Java 如何限制随机字符串上的位数?

Java 如何限制随机字符串上的位数?,java,random,hex,Java,Random,Hex,我找不到我的问题,或者我不知道如何搜索它 我的问题是: private final String alfabetohexa = "0123456789ABCDEF"; private final int n = alfabetohexa.length(); Random random = new Random(); public void generarMuestras(){ for (int i = 0; i < 3; i++) { System.out.pr

我找不到我的问题,或者我不知道如何搜索它

我的问题是:

private final String alfabetohexa = "0123456789ABCDEF";
private final int n = alfabetohexa.length();

Random random = new Random();

public void generarMuestras(){
    for (int i = 0; i < 3; i++) {
        System.out.print(alfabetohexa.charAt(random.nextInt(n)));
        System.out.println(n);
    }
}
私有最终字符串alfabetohexa=“0123456789ABCDEF”; 私有最终整数n=alfabetohexa.length(); 随机=新随机(); 公共无效generarMuestras(){ 对于(int i=0;i<3;i++){ 系统输出打印(alfabetohexa.charAt(random.nextInt(n)); 系统输出println(n); } } 我想得到一个随机的十六进制字符串(我想把它保存在一个ArrayList中),有10个数字(不多也不少)。这段代码生成9个数字,如果我把比较器中的“I”改为4,我会得到12个数字


如何操作?

不打印随机十六进制数字(一次打印3个),而是返回
字符串(为此,我建议使用
StringBuilder
)。大概

private static final String alfabetohexa = "0123456789ABCDEF";
private static final int    n            = alfabetohexa.length();
private static final Random random       = new Random();
public static String generarMuestras(final int len) {
  StringBuilder sb = new StringBuilder(len);
  for (int i = 0; i < len; i++) {
    sb.append(alfabetohexa.charAt(random.nextInt(n)));
  }
  return sb.toString();
}
私有静态最终字符串alfabetohexa=“0123456789ABCDEF”; 专用静态最终整数n=alfabetohexa.length(); 私有静态最终随机=新随机(); 公共静态字符串generarMuestras(最终整数长度){ StringBuilder sb=新StringBuilder(len); 对于(int i=0;i
我得到“XXXXXXXXX”(9),我想得到的是“XXXXXXXXX”(10)。我不知道如何更好地解释它。。。