2017-02-18 32 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轉換爲代碼寫入服務的這一步。我更願意認爲這是一個問答網站。 –