What's wrong in the code?

import java.util.Scanner;

public class allIndices {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc=new Scanner(System.in);
	int n = sc.nextInt();
	int[] arr = new int[n];
	for(int i=0;i<arr.length;i++) {
		arr[i]=sc.nextInt();
	}
  int data = sc.nextInt();
  int[] li = allIndices(arr,0,data,0);
  if(li.length==0) {
	  System.out.println();
	  return;
  }
  for(int i=0;i<li.length;i++) {
	  System.out.println(li[i]);
  }

}

public static int[] allIndices(int[] arr,int si,int data,int count) {
if(si==arr.length) {
int[] base=new int[count];
return base;
}
int[] indices = null;
if(arr[si]==data) {
indices=allIndices(arr,si+1,data,count+1);
}else {
indices=allIndices(arr,si+1,data,count);
}
if(arr[si]==data) {
indices[count]=si;
}
return indices;

}

}

in line 17
System.out.print(li[i]+" ");
instead of new line
that passes all the test cases
please mark your doubt as resolved and rate as well :slight_smile: