package zh.codegym.task.task10.task1015;

import java.util.ArrayList;
import java.util.Arrays;

/*
字符串列表数组
*/

public class Solution {
    public static void main(String[] args) {
        ArrayList<String>[] arrayOfStringList = createList();
        printList(arrayOfStringList);
    }

    public static ArrayList<String>[] createList() {
        //在此编写你的代码
        ArrayList<String>[] list = (ArrayList<String>[]) new ArrayList[generateNumber(2, 5)];
        for (int i = 0; i<list.length; i++) {
            list[i] = new ArrayList<String>();
        }
        for (ArrayList<String> item: list) {
            for (int j = 0; j<generateNumber(2, 5); j++) {
                item.add(generateRandomString(3, 10));
            }
        }

        return list;
    }

    public static void printList(ArrayList<String>[] arrayOfStringList) {
        for (ArrayList<String> list : arrayOfStringList) {
            for (String s : list) {
                System.out.println(s);
            }
        }
    }

    public static String generateRandomString(int min, int max) {
        int[] array = generateNumberArray((int) 'a', (int) 'z', (int) (min+Math.random()*(max-min+1)));
        StringBuffer string = new StringBuffer();
        for (int x: array) {
            string.append((char) x);
        }
        return string.toString();
    }

    public static int[] generateNumberArray(int min, int max, int len) {
        int[] array = new int[len];
        for (int i = 0; i<len; i++) {
            array[i] = min+((int) (Math.random()*(max-min+1)));
        }
        return array;
    }

    public static int generateNumber(int min, int max) {
        return (int) (min+Math.random()*(max-min+1));
    }
}
结果 要求1错误 createList 方法必须声明并初始化含 ArrayList<String> 元素的数组