public class NumberWords {
public String toWords(int number) {
String result = "";
if (number == -1) {
result = "Number out of range";
}
if (number >= 0 && number <= 999) {
if (number == 0) {
System.out.println("NUMBER AFTER CONVERSION:\tZERO");
} else {
System.out.print("NUMBER AFTER CONVERSION:\t");
numberToWord(((number / 100) % 10), " HUNDRED");
numberToWord((number % 100), " ");
}
}else if(number >= 1000){
System.out.println("Number not in range");
}
if (number == 0) {
System.exit(number);
}
return result.trim();
}
public static void numberToWord(int num, String val) {
String ones[] = {" ", " ONE", " TWO", " THREE", " FOUR", " FIVE", " SIX", " SEVEN", " EIGHT", " NINE", " TEN", " ELEVEN", " TWELVE", " THIRTEEN", " FOURTEEN", " FIFTEEN", " SIXTEEN", " SEVENTEEN", " EIGHTEEN", " NINETEEN"
};
String tens[] = {" ", " ", " TWENTY", " THIRTY", " FOURTY", " FIFTY", " SIXTY", " SEVENTY", " EIGHTY", " NINETY"};
if (num > 19) {
System.out.print(tens[num / 10] + " " + ones[num % 10]);
} else {
System.out.print(ones[num]);
}
if (num > 0) {
System.out.print(val);
}
}
}
public class NumberWordsApplication {
private final NumberWords numberWords;
private final BufferedReader reader;
public NumberWordsApplication() {
numberWords = new NumberWords();
reader = new BufferedReader(new InputStreamReader(System.in));
}
public void execute() {
while (true) {
try {
System.out.print("\nPlease type a number between 1 and 999 OR (0 to exit) : ");
String value = reader.readLine();
int number = Integer.parseInt(value);
String toWords = numberWords.toWords(number);
} catch (NumberFormatException | IOException e) {
System.out.println("Invalid number");
}
}
}
public static void main(String[] args) {
new NumberWordsApplication().execute();
}
}
Это основной класс для генерации числа в слово, например, 57, тогда вывод должен быть "Пятьдесят семь"
Я хочу создать тестовые случаи для класса NumberWords, в котором я застрял
Разработка приложения для преобразования чисел в слова с использованием TDD
- Реализация основного приложения для чтения цифр с клавиатуры
и распечатать значения
- На сервере перейдите к Numbers
проект
- Запустите ant для сборки проекта. Сборка не удастся, если
модульные тесты не пройдены.
- ~ / ant / bin / ant dist
- Результаты блока
тесты находятся в каталоге отчетов, который был создан.
приложение и попробуйте
- java –j Numbers.jar