-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnum_names.java
More file actions
108 lines (95 loc) · 3.68 KB
/
num_names.java
File metadata and controls
108 lines (95 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import java.util.Scanner;
public class num_names{
public static String words[] = {"zero", "one ", "two ", "three ", "four ", "five ", "six ", "seven ", "eight ", "nine ", "eleven ", "twelve ", "thirteen ", "fourteen ",
"fifteen ", "sixteen ", "seventeen ", "eighteen ", "nineteen "};
public static String tens[] = {"ten ", "twenty ", "thirty ", "fourty ", "fifty ", "sixty ", "seventy ", "eighty ", "ninety ", "hundred "};
public static String out_1to19(int inp){
String output = "";
if (inp == 10){
output = output.concat(tens[0]);
}else if(inp >10 && inp <20){
output = output.concat(words[inp-1]);
}else{
output = output.concat(words[inp]);
}
return output;
}
public static String out_20to99(int inp){
String output = "";
for (int i=1; i<tens.length; i++){
int inpModTens = inp%((i+1)*10);
if (inpModTens <10 && (inp/((i+1)*10)) == 1){
output = output.concat(tens[i]);
if (inpModTens !=0){
output = output.concat(words[inpModTens]);
}
break;
}
}
return output;
}
public static String out_100to999(int inp){
String output = "";
output = output.concat(words[inp/100]);
output = output.concat("hundred ");
if (inp %100 < 20){
output = output.concat(out_1to19(inp%100));
}else{
output = output.concat(out_20to99(inp%100));
}
return output;
}
public static String out_1000to99999(int inp){
String output = "";
output = output.concat( ((inp/1000)<20)? out_1to19(inp/1000): out_20to99(inp/1000) );
output = output.concat("thousand ");
if (inp%1000 != 0)
output = output.concat( ((inp%1000)<20)? out_1to19(inp%1000): ((inp%1000) < 100)? out_20to99(inp%1000): out_100to999(inp%1000) );
return output;
}
public static String out_100000to9999999(int inp){
String output = "";
output = output.concat( ((inp/100000)<20)? out_1to19(inp/100000): out_20to99(inp/100000) );
output = output.concat("lakh ");
if (inp%100000 != 0)
output = output.concat( (inp<1000000)? out_1000to99999(inp%100000): out_1000to99999(inp%100000) );
return output;
}
public static String out_10000000to999999999(int inp){
String output = "";
output = output.concat( ((inp/10000000)<20)? out_1to19(inp/10000000): out_20to99(inp/10000000) );
output = output.concat("crore ");
if (inp%100000 != 0)
output = output.concat( (inp<100000000)? out_100000to9999999(inp%10000000): out_100000to9999999(inp%10000000) );
return output;
}
public static void main(){
Scanner in = new Scanner(System.in);
System.out.println("Enter a number: ");
int inp = in.nextInt();
String output = "";
// 1 to 19
if (inp < 20){
output = output.concat(out_1to19(inp));
}else
// 20 to 99
if (inp < 100){
output = output.concat(out_20to99(inp));
}else
// 100 to 999
if(inp <1000){
output = output.concat(out_100to999(inp));
}else
// 1000 to 99999
if (inp < 100000){
output = out_1000to99999(inp);
}
else if (inp < 10000000){
output = out_100000to9999999(inp);
}
else{
output = out_10000000to999999999(inp);
}
System.out.println(output);
}
}