Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们可以按照regex/^[0-9A-F]生成多个随机字符串吗$/_Java - Fatal编程技术网

Java 我们可以按照regex/^[0-9A-F]生成多个随机字符串吗$/

Java 我们可以按照regex/^[0-9A-F]生成多个随机字符串吗$/,java,Java,我们可以按照regex/^[0-9A-F]生成多个随机字符串吗$/ 我已经写了下面的代码,有没有更好的方法来生成它,请不要使用任何lib,只使用javaapi public static void printRandomStrings(int numOfStrings){ Random random = new Random(); char[] chars = {'A','B','C','D','E','F'}; // 6 characters for(i

我们可以按照regex/^[0-9A-F]生成多个随机字符串吗$/

我已经写了下面的代码,有没有更好的方法来生成它,请不要使用任何lib,只使用javaapi

public static void printRandomStrings(int numOfStrings){
  
    Random random = new Random();
    char[] chars = {'A','B','C','D','E','F'}; // 6 characters
    
    for(int i=0;i<numOfStrings;i++){
      
      String randomString = "";
      
        for(int j=0;j<4;j++){
        
          int choice = random.nextInt(2); // 0 -1
          
          if(choice == 1){
            randomString= randomString+generateRandomInt(random);
          }else{
            randomString= randomString+generateRandomChar(random,chars);
          }            
        }
      
        System.out.println(randomString);
    }        
  }      
  
  public static int generateRandomInt(Random random){
    return random.nextInt(10);
  }
  
  public static char generateRandomChar(Random random,char[] chars){
    int charIdx = random.nextInt(6);
    return chars[charIdx];
  }
publicstaticvoidprintrandomstrings(int numOfStrings){
随机=新随机();
char[]chars={'A','B','C','D','E','F'};//6个字符

对于(inti=0;i)您所说的更好是什么意思?您的标准是什么?(速度(不使用java)、可读性……)请注意,您的方法始终生成4个字符的字符串。这是要求的一部分吗?另外,请注意,您代码中的一个主要缺陷是,6个字符“a”到“F”有相同的机会显示为10个字符“0”到“9”。因为它们较少,所以它们将在随机字符串中过度表示。