Why is that I don't get decimal values?

When I try the code:
int a = read.nextInt();
int b = read.nextInt();
double x = a/b;
System.out.println(x);

with the input 10 and 6.

I get the output 1.0, but “x” being double should get the decimal answer. Only when I change variables “a” and “b” to double, I get the expected answer.

I don’t understand, since 10 and 6 are integers, why should that affect the final answer? (1,66666667)

To get the expected decimal answer, you should ensure that at least one of the operands in the division is a floating-point type (such as double ). By changing either a or b to a double, you force the division to be performed as a floating-point division, and the result will be a double with the decimal part included.
Try like this
int a = read.nextInt();
int b = read.nextInt();
double x = (double) a / b; // Perform floating-point division by casting ‘a’ to double
System.out.println(x);

2 Likes

Thanks a lot for your help