guys, I wrote this program that converts numbers to words eq: 4914 to "four thousand and nine hundred and fourteen"; however, I'm having problems with the toString method. Is not printing correctly some numbers. the functions and their return type can't be changed. I need help with the toString method that actually puts all the words together. I appreciate any help.
package numberstowords; import java.util.*; public class Numbers { //array containing single digits words numbers:0-9 private final String[] SINGLE_DIGITS_WORDS; //array containing special words words eg:10-19 private final String[] TEEN_DIGITS_WORDS; //array containing tens words numbers:20-90 private final String[] TEN_DIGITS_WORDS; private int value, //number to be converted to words one, //number to store digits ten, //number to store tens hundred, //number to store hundred thousand;//number to store thousand private String strOut; //getting single digit number private int getOnes() { one = value % 10; return one; } //getting tens numbers private int getTens() { ten = value % 100; ten /= 10; return ten; } //getting hundreds numbers private int getHundreds() { hundred = value % 1000; hundred /= 100; return hundred; } //getting thousands numbers private int getThousands() { thousand = value % 10000; thousand /= 1000; return thousand; } //converting and returning string of ones private String digitsToString(int one) { return SINGLE_DIGITS_WORDS[one]; } //converting and returning strings of tens and teens private String tensAndOnesToString(int ten, int one) { if(ten == 1)//if number is a teen return, else return tens { return TEEN_DIGITS_WORDS[one]; } return TEN_DIGITS_WORDS[ten-2]; } //converting and returning strings of hundreds private String hundredsToString(int hundred) { return digitsToString(hundred) + " hundred"; } private String thousandsToString(int thousand) { return digitsToString(thousand) + " thousand"; } @Override public String toString() { }
Tester
package numberstowords; import java.util.Scanner; public class Test { //array to store the word equivalent of numbers public static String[] s = new String[8]; public static void main(String[] args) { int count = 0; Scanner input = new Scanner(System.in); do { System.out.println("Enter an integer (4 digits max)--> "); int value = input.nextInt(); if(value > 0) { Numbers n = new Numbers(value); //store n.toString in an arrayList s //s[count] = n.toString(); System.out.println(n.toString()); count++; } else break; }while(true);