AddDigitsSolution { static int addDigits(int num) { if (num < 10) return num; int i, count = 0; while ((i = num % 10) != 0 || num >= 10) { count += i; num -= i; num /= 10; } return addDigits(count); }    }
@Test public void addDigitsTest() { assertEquals(-1, AddDigitsSolution.addDigits(-1)); assertEquals(0, AddDigitsSolution.addDigits(0)); assertEquals(1, AddDigitsSolution.addDigits(100)); assertEquals(2, AddDigitsSolution.addDigits(38)); assertEquals(3, AddDigitsSolution.addDigits(579)); }