Необходимо array поделить на два подмассива и заполнить ими двумерный массив result. Если длина массива нечетная, то большую часть нужно скопировать в первый подмассив. С задачей деления вроде справился, а вот как дальше записать одномерный в двумерный не пойму чет. public class Solution { public static int[][] result = new int[2][]; public static int[] array = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; public static void main(String[] args) { for (int i = 0; i < result.length; i++) { int srav = array.length % 2 == 1 ? array.length / 2 + 1 : array.length / 2; int[] arraycopy1 = Arrays.copyOfRange(array, 0, srav); int[] arraycopy2 = Arrays.copyOfRange(array, srav, array.length); result[i] = new int []; } System.out.println(Arrays.deepToString(result)); }