Java,将华氏温度转换为摄氏温度

时间:2016-02-16 00:01:52

标签: java java.util.scanner

该程序假设转换输入temp。从华氏温度到摄氏温度。因此,如果输入为212F,则应显示:

212 deg. F = 100 deg. C 

除非我运行程序时输出始终为“0摄氏度”。谁能告诉我这里我做错了什么?我猜它是否与它有关:

double fahrenheit = keyboard.nextDouble(); 

但即便如此,我也不太清楚为什么。谢谢你的帮助!

import java.util.Scanner;       //keyboard input
import java.text.DecimalFormat; //formatting

public class FahrenheitToCelsius {

    public static void main(String[] args) {

        Scanner keyboard = new Scanner(System.in);

        //User Input
        System.out.println("Please enter temperature (Fahrenheit): ");
        double fahrenheit = keyboard.nextDouble();

        //Calculations
        double celsius = (5 / 9) * (fahrenheit - 32);

        //Formatting
        DecimalFormat myFormatter = new DecimalFormat("#,###.##");

        //Output
        System.out.println("\n" + myFormatter.format(fahrenheit) 
        + " deg. F = " + myFormatter.format(celsius) + " deg. C");

    }

}

1 个答案:

答案 0 :(得分:1)

导致整数除法的问题

尝试

double celsius = (5.0 / 9.0) * (fahrenheit - 32.0);