In order to obtain an unsigned int, you need to use the Integer.parseUnsignedInt() functions or do a manual calculation. Remember, Java doesn't actually HAVE unsigned integers, Java8 just provides the ability to treat an int as unsigned in order to allow for a greater range of positive-number values.
According to the Java 8 Doc for the Integer class,
An unsigned integer maps the values usually associated with negative
numbers to positive numbers larger than MAX_VALUE
So the conversion between an unsigned int and a signed one is that if the number is greater than or equal to zero AND less than or equal to Integer.MAX_VALUE, it remains the same. If it's greater than Integer.MAX_VALUE but still within the unsigned range, then to store it in an int, you need to add 2^31 to it, which will convert it to the correct value due to the way that addition overflow is defined as an operation. Overflow and underflow in addition of binary primitives like int just causes the counter to reset and continue counting.
int min = Integer.MIN_VALUE; // -2147483648
int max = Integer.MAX_VALUE; // 2147483647
int overByOne = Integer.MAX_VALUE + 1; // -2147483648 : same as Integer.MIN_VALUE
int underByOne = Integer.MIN_VALUE - 1; // 2147483647 : same as Integer.MAX_VALUE
They exercise is just asking you to look at the Integer class and test out the various (new in Java8) methods for unsigned operations. Java does not have unsigned integer primitives, but an int value can be treated as unsigned for the purposes of certain new methods in the Integer class.