Well that's certainly some crazy code.
Lee1210 is right: change all the Double types to double and things will work better. I tried it and it works.
I don't know how or where you learned to code that way, but it's about as wrong as it could possibly be, while still managing to somewhat work. The key word there is "somewhat", because there a whole lot of cases where this approach simply won't work, or it requires some extra conversions to be performed. I'd like to know if this practice is being taught by someone, or whether you just stumbled across it in your own explorations.
The Double type is actually an Object type, and when it's used in arithmetic, it has to be converted back to its corresponding primitive type (double). In Java, the unary + happens to perform that function, by forcing the Double object to be "unboxed" to a double, which is the actual primitive type.
The reason Math.round() doesn't work is because Math.round() returns a long type, which cannot be assigned to a Double type. The error message is telling you this. It found a long type, but it expects a java.lang.Double, which is the full name of the Double type. Ironically, if you use the double type, then Math.round() will compile, because a long is assignable to a double.
Boxing and unboxing is actually a fairly complicated subject, even though it shouldn't be. It's complicated because the compiler isn't always able to figure out what it should do without specific "hints" in the source code, like unary + or certain other conversions.
I suggest restudying the primitive Java types, all of whose names begin with lower-case letters: int, long, double, float, etc. I also suggest discussing this your teacher, by showing him or her your code using Double, and asking for an explanation of why Math.round() doesn't compile.
EDIT:
A completely separate question is whether Math.round() is the thing to use in this case. You said you needed "one decimal space", which I interpret as one digit after the decimal point, such as "31.6" or "45.2".
If you look at what Math.round() does, and you should do so, it always rounds to the nearest integer value. That means it will return 32 if passed 31.6, which means it's not directly suitable for getting what you want.
However, it can be used as a building block to get what you want. Lee already gave an explanation, so try understanding that. If his explanation doesn't make sense, then post again.