-4

I have a simple java program that does not operate the way that I think it should.

public class Divisor
{
    public static void main(String[] args)
    {
        int answer = 5 / 2;
        System.out.println(answer);
    }
}

Why is this not printing out 2.5?

4

2 回答 2

3

5 / 2 是整数除法(您甚至将其存储在整数变量中),如果您希望它为 2.5,则需要使用浮点除法:

double answer = 5.0 / 2.0;

整数除法总是等于正常的数学除法,向下舍入到最接近的整数。

于 2013-09-21T14:04:37.393 回答
2

Java 有整数除法,它表示:整数除以整数得到整数2.5不能用整数表示,所以结果是2.0. 此外,您将结果存储为整数。

如果您需要浮点除法,您可以将操作数之一转换为 double 并将answer类型更改double为。您在这里使用文字值,因此更改55.使此文字值double

最后,以下内容应该适合您:

double answer = 5. / 2;

请注意,点符号后甚至不需要零符号!

于 2013-09-21T14:05:03.883 回答