I'm having this task, where I need to find average of 2 ints. Here is my code:
public class AverageNumber {
public int average(int a, int b) {
if (a == Integer.MIN_VALUE && b == Integer.MIN_VALUE) {
return Integer.MIN_VALUE;
} else if (a < 0 || b < 0) {
return (a + b)/2;
}
return (a+b)>>>1;
}
}`
I fail on this test :
Input: -2147483648, -2
Expected: -1073741825
Actual: "1073741823"
I need some help working with numbers which go out of a range = Integer.MIN_VALUE. And I cannot use long type.