public class SumDemo {
public static void main(String[] args) {
// Протестируем метод sum()
for (int i = 0; i < 16; i++) {
for (int j = 0; j < 16; j++) {
if (i + j != sum(i, j)) {
throw new ArithmeticException("Метод sum() работает не верно");
}
}
}
System.out.println("Метод sum() работает успешно");
}
private static int sum(int a, int b) {
int x = a ^ b;
int y = a & b;
return y == 0 ? x : sum(x, y << 1);
}
}