没有得到从摄氏度到华氏度的正确答案

问题描述

static void CToF(float c){

        float f=32+((9/5)*c);
        System.out.printf("%.2f",f);


    }

  public static void main(String[] args) {

        CToF(27);

        sc.close();
    }

这里的 * 和 / 的优先级相同,所以根据它们的关联性,它会从右到左执行。

所以先执行 9/5,然后再乘以 c,所以答案是 80.60,但我得到了 59.00。

有什么问题吗?

解决方法

如果我做出一些改变并像这样写

float f=32+(c*9/5);

它有效。xD