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

Java,将华氏温度转换为摄氏温度,java,java.util.scanner,Java,Java.util.scanner,假定程序转换输入温度。从华氏到摄氏。因此,如果输入为212F,则应显示: 212 deg. F = 100 deg. C 除非我运行程序,否则输出总是“0摄氏度”。有人能告诉我我做错了什么吗?我猜,如果这和: double fahrenheit = keyboard.nextDouble(); 但即便如此,我也不太清楚为什么。谢谢你的帮助 import java.util.Scanner; //keyboard input import java.text.DecimalFo

假定程序转换输入温度。从华氏到摄氏。因此,如果输入为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");

    }

}

导致整数除法的问题

试一试

(5/9)
制作此
(5.0/9)
double celsius = (5.0 / 9.0) * (fahrenheit - 32.0);