LastIndex ( I am unable to find the error)

import java.util.Scanner;

import javax.lang.model.util.ElementScanner14;

public class Lastindexchallenge
{
static Scanner scn=new Scanner(System.in);
public static void main(String[] args)
{
int[] arr=takeinput();
int M=scn.nextInt();
System.out.println(lastIndex(arr, 0, M));

}
public static int[] takeinput()
{
    int N =scn.nextInt();
    if(1<N && N<1000)
    {
        int[] arr=new int[N];
        for(int i=0;i<arr.length;i++)
        {
            arr[i]=scn.nextInt();
        }
        return arr;
    }
    else
    {
        int[] base=new int[0];
        return base;
    }
}
public static int lastIndex(int[] arr, int i, int data)
{
    if(arr.length==i)
    {
        return -1;
    }
    int index=lastIndex(arr, i+1, data);
    if(index==-1)
    {
        if(arr[i]==data)
        {
            return i;
        }
        else
        {
            return -1;
        }
    }
    else
    {
        return index;
    }
}

}

@jdkatti.
Input:
1
8
8
your Output:
-1
correct output:
0

No it doesn’t
I am getting the output as 0 itself

@jdkatti,
In the code you attached it gives this output mate.