Java 这是怎么回事?公式是正确的,但答案不是';t

Java 这是怎么回事?公式是正确的,但答案不是';t,java,math,intellij-idea,Java,Math,Intellij Idea,这段代码所做的是将分数转换为十进制/双精度,正如大家所知,十进制的2/8是0.25,但IntelliJ IDE会返回这个值 public static double Fraction2Decimal(int Numerator, int Denominator) { double Answer = Numerator / Denominator; return Answer; } public static void main(String args[]) { doub

这段代码所做的是将分数转换为十进制/双精度,正如大家所知,十进制的2/8是0.25,但IntelliJ IDE会返回这个值

public static double Fraction2Decimal(int Numerator, int Denominator)
{
    double Answer = Numerator / Denominator;
    return Answer;
}

public static void main(String args[])
{
    double ans = Fraction2Decimal(2, 8);

    double pi = 3.141592653589793238462643383;
    System.out.print(ans);
}
啊!!它应该返回0.25,有人能解释一下这里发生了什么吗

编辑:
我这样做只是为了检查类型是否是答案的缩写。

因为你要除以整数,这只能产生一个整数。除法后,它们会被分解(四舍五入到较低的整数)。
在进行操作之前,尝试将其铸造为双o形浮动。

2/8为0。这就是整数除法的工作原理。整数除法。谷歌it“人人都知道”-检查你的假设并阅读有关整数除法的内容。如果人人都知道,你不需要编写软件来计算它。:)谢谢,刚刚将int改为float,它返回了正确的答案
0.25
,谢谢您的帮助:)请不要回答逻辑错误和明显的重复
0.0
Process finished with exit code 0