2017-02-18 64 views
-5

我需要帮助创建一个字符串的随机阵列有两个参数:产生一个随机字符串数组

  1. 数组的长度
  2. 在每个字符串的字符数

请问我需要一个嵌套for循环?

任何事情都会有帮助,谢谢!

+2

“请问我需要一个嵌套的循环?“是。 –

+0

String []的一个循环和每个char的内循环[] –

回答

0

可以使用嵌套循环做到这一点,因为你在问题中说:

public String[] randomArrayString(int length, int numberOfChar) { 
    Random random = new Random(); 
    char[] chars = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    String[] array = new String[length]; 
    String str; 
    for (int i = 0; i < length; i++) { 
     str = ""; 
     for (int j = 0; j < numberOfChar; j++) { 
      str+= chars[random.nextInt(chars.length - 1)]; 
     } 
     array[i] = str; 
    } 
    return array; 
} 

您可以同时使用Java 8流的解决方案,如:

public Object[] randomArrayString(int length, int numberOfChar){ 
    Random random = new Random(); 
    char[] chars = "abcdefghijklmnopqrstuvwxyz".toCharArray(); 
    return Stream.generate(() -> { 
     String str=""; 
     for (int i = 0; i < numberOfChar; i++) { 
      str+= chars[random.nextInt(chars.length - 1)]; 
     } 
     return str; 
    }).limit(length).toArray(); 
} 
+0

这些将创建大量的字符串对象。 – Bubletan

+0

我同意你的意见,我用Java 8 Stream编辑了我的解决方案,我希望现在好一点。谢谢! –

+2

我真的不赞成将Stack Overflow转换为代码写入服务的这一步。我更愿意认为这是一个问答网站。 –