Binary search chalange

import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner scn=new Scanner(System.in);
int n=scn.nextInt();

  int[] array=new int[n];
    
	for(int i=0;i<array.length;i++){
	
		array[i]=scn.nextInt();
	}
	int m=scn.nextInt();
	System.out.print(binarysort(array,m));
	


}
public static int binarysort(int[] array,int m  ){
	int lo=0;
	int hi=array.length;
	for(int i=0;i<array.length;i++){
		int mid=(lo+hi)/2;
		if(array[mid]==m){
			return mid;
		}else if(array[mid]<m){
			lo=mid+1;
		}else{
			hi=mid-1;
		}
		return -1;
	}
}

}

hey @Sumant391
return -1 will be after the for loop, and you are doing wrong, it is not Binary Search