Note: (Restricted functionality due to obvious reasons!)
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'");
}
}
}