This week's book giveaway is in the Design forum. We're giving away four copies of Building Microservices and have Sam Newman on-line! See this thread for details.

I'm currently working on an assignment for my Java class, it's supposed to do this:
Write a Java program to read in an integer number (as a String) from the program arguments, and print the value of the following calculation, where n is the number:

if n < 0 - print out (n^2) + (n/2)
if n >= 0 and is even - print out (n^3)*(n-1)
if n >= 0 and is odd - print out (n^-1) + (3n)

The problem is that it doesn't seem to compute the numbers correctly.
When I input -2, it results in 3, which is correct, but when I put in -1, it results in 1, when it should be .5

That seems to be the only part that isn't working and I can't figure out why. Any help is greatly appreciated

Java supports integer division.
An operation with both operands int yields an int as a result including the case of the operation division.
That is, 1 / 2 will yield 0.