Recursive multiplication and Karatsuba

Hey everyone, I've got a question where I'm sort of stuck on writing a java code for a recursive "school method" multiplication where we have input 'n' and two n digit numbers 'a' and 'b' where the output is m=a.b. I also have to use an array representation for representing numbers. Could anyone please help me out? Thanks

The basic format is a=a1.B^(k) + a0 and b=b1.B^(k) + b0 where a.b=a1.b1.B^(2k)+(a1.b0+a0.b1).B^(k)+a0.b0 and k=floor(n/2)

Also then how would you use this and implement a Karatsuba multiplication if say n>3.