sabes no se muy bien Java pero yo te aconsejo que dividas los numeros de tres en tres
Ejemplo: 73.457.127
esto seria seteinta y tres millones cuatrocientos cincuenta y siete mil ciento veinte y tres
notas que si los separas de tres en tres tesera mas facil ya que no pasara de cien.
para esto podrias hacerte una matriz de 3x9 donde almacenes puros String, del 1 al nueve, del diez al noventa(esto es de diez en diez)y del cien al novecientos .
Ademas puedes hacerte un vector que controle los casos especiales, que son el 11, 12, 13, 14, 15, 0, mil, millones(por si acaso todo es estring en el vector).
luego haces una sucesion de divisiones y vas escojiendo del vector y de la matriz las palabras correpondientes.
en caso de que tengas alguna duda o no te salga dime te puedo mandar el codigo en Delphi tal vez en Java, pero por el momento intenta hacerlo, con todo lo que te dije.
Chau espero que te sirva lo que te escribo