what wrong in his code …if any then send me the right code
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n >= 1 && n<=100000)
{
int arr[] = new int[n];
for(int i = 0 ; i <arr.length ; i++)
{
arr[i] = sc.nextInt();
}
int q = sc.nextInt();
if(q>=1 && q<=100)
{
for(int i =1 ; i<=q ; i++)
{
int val = sc.nextInt();
int a = lower(arr , val);
int b = upper(arr , val);
System.out.print(a+" " +b);
}
}
}
}
public static int lower(int[] arr , int val)
{
int ans = -1 ;
int lower = 0 ;
int upper = arr.length -1;
while(lower <= upper )
{
int mid = (lower+ upper)/2;
if(arr[mid] == val)
{
ans = mid;
upper = mid -1;
}
else if(arr[mid] > val)
{
upper = mid - 1;
}
else
{
lower = mid +1;
}
}
return ans ;
}
public static int upper(int[] arr , int val)
{
int ans = -1 ;
int lower = 0 ;
int upper = arr.length -1;
while(lower <= upper )
{
int mid = (lower+ upper)/2;
if(arr[mid] == val)
{
ans = mid;
lower = mid+1;
}
else if(arr[mid] > val)
{
upper = mid - 1;
}
else
{
lower = mid +1;
}
}
return ans ;
}
}