Napisałem prostą metodę, która zwraca sumę cyfr jeśli podana liczba jest większa niż 10 lub -1 w innym wypadku. Moje pytanie brzmi, czy da się to w jakiś sposób zoptymalizować?
public static int sumDigits (int number) {
int sumOfAllDigits = 0;
int actualTenPower = 0;
int ratio = 0;
if (number >= 10){
String stringNumber = Integer.toString(number);
for (int i = (stringNumber.length()-1); i >= 0 ;i--){
actualTenPower = (int)(Math.pow(10,i));
ratio = number / actualTenPower;
sumOfAllDigits += ratio;
number -= (actualTenPower * ratio);
}
} else {
sumOfAllDigits = -1;
}
return sumOfAllDigits;
}