Here is my code:
public static void numberToWords(int number){
int lastDigit;
if(number < 0){
System.out.println("Invalid Value");
}
while(number != 0) {
lastDigit = number % 10; // lastDigit = 3
number = number / 10;
reverse(number);
if (lastDigit == 0) {
System.out.println("ZERO");
}
if (lastDigit == 1) {
System.out.println("ONE");
}
if (lastDigit == 2) {
System.out.println("TWO");
}
if (lastDigit == 3) {
System.out.println("THREE");
}
if (lastDigit == 4) {
System.out.println("FOUR");
}
if (lastDigit == 5) {
System.out.println("FIVE");
}
if (lastDigit == 6) {
System.out.println("SIX");
}
if (lastDigit == 7) {
System.out.println("SEVEN");
}
if (lastDigit == 8) {
System.out.println("EIGHT");
}
if (lastDigit == 9) {
System.out.println("NINE");
}
}
}
public static void reverse(int a){
int finalDigit = 0;
int reverse1 = 0;
while(a > 0) {
finalDigit = a % 10;
reverse1 = reverse1 * 10 + finalDigit;
a = a / 10;
}
}
My digits are printed as strings as desired, but they come in reverse order.
I tried to add the reverse method into the conversion method but the results are always the same, can't figure out how to reverse it.