Я пытаюсь построить массив внутри приватной функции, которая получает пустой массив из публичной функции, я вызываю приватную функцию из публичной, а затем пытаюсь сделать arr[i][j] = 1
, а затем рекурсия добавится к int j
+1, но когда я arr[i][j] = 1
получаю ошибку времени выполнения: NullPointerException, я не знаю arr[0].length
, я знаю только, что arr.length
- это n, какое-либо исправление?
public static int howManySorted(int n, int max)
{
int i = 0;
int j = 0;
boolean first = false;
int count = 0;
int[][] arr = new int[n][];
return howManySorted(n,max,arr,i,j,first,count);
}
private static int howManySorted(int n,int max,int[][] arr,int i,int j,boolean first,int count)
{
if(n < 1)
return 0;
if(j < n)
{
arr[i][j] = 1;
count++;
first = true;
return howManySorted(n,max,arr,i,j+1,first,count);
}