Я не уверен, правильно ли я понимаю, но если вы хотите создать n количество массивов, тогда все, что вам нужно сделать, это использовать новую структуру данных для хранения ваших массивов;например, ArrayList
(вы можете использовать двумерный массив для хранения информации, но многомерные массивы имеют тенденцию становиться очень сложными, очень быстрыми; это проще.
Так что это небольшое изменение необходимо:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in); //I don't understand why you used a second scanner
Random rnd= new Random();
ArrayList<Integer[]> arrays = new ArrayList<>(); //you must import java.utils.ArrayList;
System.out.println("How many array?:");
for(int j=0;j<=sc.nextInt();j++){
System.out.println("Define array size:");
Integer[] array = new int[sc2.nextInt()];
for(int i=0;i<=array.length-1;i++){
int value=rnd.nextInt(1000000);
array[i]= value;
System.out.println(array[j]);
}
arrays.add(array); //You are adding this array into your List of arrays.
}
}
Не забудьте использовать класс-оболочку Integer()
со списками, примитивные типы работать не будут. Если вам нужно знать почему, прочитайте this ответ переполнения стека или этот учебник для Generics .
Я не тратил время на оптимизацию вашего кода, потому что пытался решить только вашу проблему/question.