一个简单的java问题

img


为啥会输出0.0啊,哪里出了问题,是公式写错嘛,计算顺序不对?还是类型转换有问题,求师傅们指点,谢谢

这样就好啦

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        System.out.println("请输入华氏温度:");
        Scanner sc = new Scanner(System.in);
        double a = sc.nextDouble();
        double b = (5.0/9)*( a - 32);
        System.out.println("摄氏度:" + b);
    }
}

其实很多时候这种情况的原因都是因为分母没有转为浮点数
有帮助的话请采纳支持一下博主呀

img

因为没有带小数点的时候是整除;5/9 直接收上去变为0
如果是5.0/9会保留精度 double可以保留15小数

img

img