Note: (Restricted functionality due to obvious reasons!)

For Mobile-Ease ⇓

Minimal Code ( Raw-View ) :
class CF2W { String teen(int tn) { return f2Word(tn%10)+"teen"; } String f2Word(int num) { if(num<20) { switch(num) { case 0 : return ""; case 1 : return "One"; case 2 : return "Two"; case 3 : return "Three"; case 4 : return "Four"; case 5 : return "Five"; case 6 : return "Six"; case 7 : return "Seven"; case 8 : return "Eight"; case 9 : return "Nine"; case 10 : return "Ten"; case 11 : return "Eleven"; case 12 : return "Twelve"; case 13 : return "Thirteen"; case 14 : return f2Word(num%10)+"teen"; case 15 : return "Fifteen"; case 16 : return f2Word(num%10)+"teen"; case 17 : return f2Word(num%10)+"teen"; case 18 : return f2Word(num%10)+"een"; // to avoid 'eighTTeen' case 19 : return f2Word(num%10)+"teen"; default : return "~"; } } else if(num<30) { return ("Twenty"+f2Word(num%10)); } else if(num<40) { return ("Thirty"+f2Word(num%10)); } else if(num<50) { return ("Forty"+f2Word(num%10)); } else if(num<60) { return ("Fifty"+f2Word(num%10)); } else if(num<70) { return ("Sixty"+f2Word(num%10)); } else if(num<80) { return ("Seventy"+f2Word(num%10)); } else if(num<90) { return ("Eighty"+f2Word(num%10)); } else if(num<100) { return ("Ninety"+f2Word(num%10)); } else if(num<1000) { return (f2Word(num/100)+"Hundred and "+f2Word(num%100)); } else if(num<100000) { return (f2Word(num/1000)+"Thousand "+f2Word(num%1000)); } else if(num<10000000) { return (f2Word(num/100000)+"Lakh "+f2Word(num%100000)); } else if(num<1000000000) { return (f2Word(num/10000000)+"Crore "+f2Word(num%10000000)); } else if(num>1000000000) { try { String rtn = "("+(f2Word(num/10000000)+")-Crore "+f2Word(num%10000000)); return rtn; } catch(Exception c) { return "Out of range"; } } else return "Out of range"; } } class FigureToWords { public static void main(String zee[]) { CF2W obj = new CF2W(); int flag = 0; try { int arg_value = Integer.parseInt(zee[0]); flag++; System.out.println(arg_value+" - "+obj.f2Word(arg_value)); } catch(NumberFormatException e) // Out of range or - bad int { System.out.println("Please Try Only Integers[<214Crores]"); } catch(Exception e) // When no Arguments { for(int i=12303; i<=12353; i++) { System.out.println(i+" - "+obj.f2Word(i)); } System.out.println("You can also use : java FigureToWords '*- your number here'"); } } }