I think you misread the Java
Doc... Here is the relevant passage.
Returns the closest int to the argument. The result is rounded to an integer by adding 1/2, taking the floor of the result, and casting the result to type int.
The round() method does return the closest int, but it does so by "taking the floor of the result".
Henry