Why is this insertion sort giving me the wrong answer, whereas i'm getting the right answer when I do it the way the comment lines specify?What is the difference?
    public class Solution
    {
    public static void main(String[] args) 
    {
    Scanner s=new Scanner(System.in);
    int i,j,n,sk=0; //consider another variable k
    int a[]=new int[20];
    n=s.nextInt();
    for(i=0;i<n;i++)
        a[i]=s.nextInt();
    for(i=1;i<n;i++)
    {   j=i-1;
        //adding k=a[i]
    while((j>=0)&&a[j]>a[i]) //a[j]>k instead of the condition a[j]>a[i]
    {   sk++;
        a[j+1]=a[j];
        j--;
    }
       a[j+1]=a[i];
       //a[j+1]=k instead of the previous line.       
    }
    for(i=0;i<n;i++)
    System.out.println(a[i]);
    }
    }
 
     
    