Я должен был написать программу для класса, который:Альтернатива для переключения - замены символов
- Принимал .txt файл
- преобразования чисел 0-9 в файле их текстовый эквивалент (если номер находится в начале предложения, используйте прописные)
- печати готовые предложения в новый файл
Пример:
The 8 eggs were separated into 3 groups.
бы быть преобразованы в:
The eight eggs were separated into three groups.
В настоящее время я использую (очень) длинный переключатель заявление с StringBuilder
для выполнения задачи:
switch(sb.charAt(i)){
case '0':
if (i == 0)
sb.replace(i, i+1, "Zero");
else
sb.replace(i, i+1, "zero");
break;
case '1':
if (i == 0)
sb.replace(i, i+1, "One");
else
sb.replace(i, i+1, "one");
break;
.....
}
Там является более продвинутый/эффективный способ выполнения этой задачи?
Насколько велика может ваши цифры добраться. Это только 0-10 или, возможно, 0-999999999? – user3437460
Для этой программы используется только 0-9. Я уточню вопрос. – atwalsh
см. Мое решение ниже. Преобразование strNumbers в текст, вам не нужно использовать 10 операторов swtich или 10 if. – user3437460