What is wrong in this code?

import java.util.*;
public class Main {

    public static void main(String args[]) {
	
Scanner scn=new Scanner(System.in);
int n= scn.nextInt();
int [] arr =new int[n];
for (int i=0;i<n;i++) {
    arr[i]=scn.nextInt();
}
bubblesort(arr,0,arr.length-1);
display(arr);

}
public static void bubblesort(int [] arr,int si, int li) {
if (li==0) {
return;
}
if (si==li) {
bubblesort(arr,0,li-1);
return;
}

	if (arr[si]>arr[si+1]) {
		int temp=arr[si];
		arr[si]=arr[si+1];
		arr[si+1]=temp;
	}
	bubblesort(arr,si+1,li);
	
}
public static void  display(int [] arr) {
	
	for(int i=0;i<arr.length;i++) {
		System.out.print(arr[i]+" ");
	}
}

}

@harsh.hj Hi bro, counting sort is a sorting algorithm, bubble sort will not work here, read about it and try it!

why there is no video about counting sort in course???

???¿???