Maya Maya - 1 year ago 97
Java Question

Why does dividing double by double give a zero?

I am trying to multiply 4 by the quotient of the number of darts hit inside of a circle and the number of darts thrown per trial. I tried to use the print statements below it to figure out where the problem is. It prints the correct numbers, just not the answer to the equation. Am I doing something wrong?

//calculation for pi
public static double getPi(int hits, int darts)
double answer = 4 * (hits / darts); //problem here


return answer;

Answer Source

If you divide an int by an int, the result will be an int. If you expect to get a floating number, then you will have to convert any operand to double.

For example:

int a = 4;
int b = 6;

double c = a / b; // result is 0.000000
double d = (double)a / b; // result is 0.666667
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download