gpt4 book ai didi

java - 为什么我需要向值添加 'f' 以便我的代码输出正确的值?

转载 作者:行者123 更新时间:2023-12-02 06:14:47 24 4
gpt4 key购买 nike

以下是我的有效代码::

public class AvgSpeed{
public static void main(String[] args){
double kph, km, hours, seconds, minutes, time;
km = (1.6 * 24);
hours = 1;
minutes = 2/3f;
seconds = 35/3600f;
time = hours + minutes + seconds;
kph = km/time;
System.out.println(kph);
}
}

如果我删除 f 的分钟和秒,它会继续打印出 38.4,这是不正确的。它应该是接近 22.906 的某个数字

我什至不知道为什么需要添加 f,我只是一时兴起。我认为将两个变量声明为 double 就足够了?

最佳答案

将变量声明为 double 型并不会使 23 成为 double 型。仅在以整数算术计算 2/3 后才会转换为 double。要解决此问题,请使用 double 算术进行计算:

        minutes = 2.0/3;
// ^ double
seconds = 35.0/3600;
// ^ double

您附加的尾随 f 构成了 3f3600f 浮点文字。这很接近您想要的,但不如双倍好。

关于java - 为什么我需要向值添加 'f' 以便我的代码输出正确的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21594840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com