Есть ли что-то (на первый взгляд), которое вы могли бы посоветовать мне не делать?
Я бы не стал излишне усложнять логику, как с
if(numberOfFifty > 0) {
while(numberOfFifty > 0) {
…
}
}
что эквивалентно
while (numberOfFifty > 0)
{
…
}
Вы также можете взглянуть на эту реализацию и посмотреть, что вы предпочитаете:
import java.util.Arrays;
…
public static String fiftyAndAbove(int number)
{
int remainder = number%50, numberOfFifty = number/50;
char [] Ls = new char [numberOfFifty];
Arrays.fill(Ls, 'L');
return new String(Ls) + tenAndAbove(remainder);
}
В вашей программе есть четыре таких места, где вам нужноповторяется строка символаЕсли вам требуется определенная версия Java или выше, вы также можете использовать один из методов, описанных в Java: String - добавить символ n раз ;в противном случае я бы предложил использовать для этого функцию.
Вы также можете подумать о том, считаете ли вы
String one = "I", five = "V", ten = "X", sum = "";
if(number == 5) {
return five;
} else if(number == 9) {
return one + ten;
}
действительно лучше, чем
if (number == 5) return "V";
if (number == 9) return "IX";