-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path23_NumberToWords.java
More file actions
102 lines (77 loc) · 2.6 KB
/
23_NumberToWords.java
File metadata and controls
102 lines (77 loc) · 2.6 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
public class NumberToWords {
public static void numberToWords(int number){
int original = number;
number = reverse(number);
if(number < 0)
System.out.println("Invalid Value");
if(number == 0)
System.out.println("Zero");
int lastDigit;
while(number != 0){
lastDigit = number % 10;
switch(lastDigit){
case 0:
System.out.println("Zero");
break;
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Three");
break;
case 4:
System.out.println("Four");
break;
case 5:
System.out.println("Five");
break;
case 6:
System.out.println("Six");
break;
case 7:
System.out.println("Seven");
break;
case 8:
System.out.println("Eight");
break;
case 9:
System.out.println("Nine");
break;
}
number = number / 10;
}
int count_1 = getDigitCount(original);
int count_2 = getDigitCount(reverse(original));
if(count_2 < count_1){
for(int i = 0; i < (count_1 - count_2); i++){
System.out.println("Zero");
}
}
}
public static int reverse(int number){
int reverse = 0;
int lastDigit = 0;
while(true){
if(number == 0)
break;
reverse = reverse * 10; // Making space for new digit
lastDigit = number % 10; // Finding the last digit
reverse += lastDigit; // Step by step adding the digits to reverse number...
number = number / 10; // Deleting the last digit from the input number
}
return reverse;
}
public static int getDigitCount(int number){
if(number < 0)
return -1;
int count = 0;
do{
number = number / 10;
count++;
}while(number != 0);
return count;
}
}