控制台为什么不返回双倍值?

时间:2020-02-01 22:23:32

标签: java double

这是作业: (编写一个程序,该程序从控制台读取一个双精度学位,然后将其转换为华氏度并向用户显示结果。转换公式为:华氏=(9/5)*摄氏+ 32)。 问题是我似乎无法获得十进制数字,而只能获得四舍五入的版本。

这是我的代码:

package JavaLearningSections;

import java.util.Scanner;

public class Assignment1Nr3 {

    public static void main (String[]args) {

        System.out.println("Enter the temperature in degree to turn it to Fahrenheit");

        Scanner input = new Scanner(System.in);

        double numDegree = input.nextDouble();

        double numFahrenheit = (9/5 *numDegree)+32;

        System.out.println(numFahrenheit);

    }


}

1 个答案:

答案 0 :(得分:0)

原因是因为您正在5/9上进行整数除法,这将返回整数。为了获得双倍,您需要将5强制转换为双倍,或将9强制转换为双倍,如下所示:

double numFahrenheit = ((double)9/5 * numDegree) + 32;