Skip to content

Commit 092c11c

Browse files
authored
Added NumberToWords.java ronijpandey#2
1 parent 19136c4 commit 092c11c

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

NumberToWords.java

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*Given a number, you have to write it in words*/
2+
import java.io.*;
3+
import java.util.*;
4+
class NumberToWords
5+
{
6+
public static void main(String[] args)throws IOException
7+
{
8+
DataInputStream in=new DataInputStream(System.in);
9+
int t,l,x,y;String s,ans;
10+
String l19[]={"","One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine ","Ten ","Eleven ","Twelve ","Thirteen ","Fourteen ","Fifteen ","Sixteen ","Seventeen ","Eighteen ","Nineteen "};
11+
String l90[]={"","","Twenty ","Thirty ","Forty ","Fifty ","Sixty ","Seventy ","Eighty ","Ninety "};
12+
//System.out.println("Enter input:");
13+
t=Integer.parseInt(in.readLine());
14+
while(t>0)
15+
{ans="";int c=12;
16+
s=in.readLine();l=s.length();int n[]=new int[13];
17+
for(int i=l-1;i>=0;i--,c--)
18+
{
19+
n[c]=s.charAt(i)-48;
20+
}y=0;
21+
for(int i=++c;i<13;i++)
22+
{
23+
switch(i)
24+
{
25+
case 0:if(n[i]==0)break;ans=ans+l19[n[i]]+"Trillion ";break;
26+
case 1:
27+
case 7:
28+
case 4:
29+
case 10:if(n[i]==0)break;ans=ans+l19[n[i]]+"Hundred ";y=n[i];break;
30+
case 2:
31+
case 5:
32+
case 8:
33+
case 11:x=n[i]*10+n[i+1];y=y*100+x;if(y==0)break;if(x<20)ans=ans+l19[x];else ans=ans+l90[n[i]]+l19[n[i+1]];i++;break;
34+
case 3:
35+
case 6:
36+
case 9:
37+
case 12:y=n[i];if(y==0)break;ans=ans+l19[y];break;
38+
}
39+
if(i-1==2&&y!=0){ans=ans+"Billion ";y=0;}
40+
if(i-1==5&&y!=0){ans=ans+"Million ";y=0;}
41+
if(i-1==8&&y!=0){ans=ans+"Thousand ";y=0;}
42+
}
43+
System.out.println(ans.trim());
44+
t--;
45+
}
46+
}
47+
}

0 commit comments

Comments
 (0)