将华氏温度转换为摄氏温度方法

时间:2018-03-31 00:28:31

标签: java methods

我应该创建一个调用方法,该方法将获取华氏温度值并返回相当于摄氏温度的值。我知道公式是(f-32)* 5/9,但是当我输入华氏温度值时,它不会给我摄氏温度值,但它会给我100.0。代码分为两个不同的文件。

我的代码:

public class Temperature
{
    public static double convert(double fah) {
        double convert;
        double cel = (5/9) * fah -32;
        return fah;
    }
}

import java.util.Scanner;

public class Question3
{
    public static void main(String[] args)
    {
        Scanner keyboard = new Scanner(System.in);
        System.out.println("Enter Fahrenheit value:");
        double f = keyboard.nextDouble();
        double result = Temperature.convert(f);
        System.out.printf("Equivalent celsius value: %.1f", result);
    }
} 

3 个答案:

答案 0 :(得分:1)

  1. 你应该返回摄氏而不是fah
  2. 您应该使用双5和9(以便它们被视为 双打而不是整数)
  3. 你应该把fah - 32放在支架上以避免关节手术中的模棱两可(基本关节规则)

    double convert(double fah) {
        double cel = (5.0/9.0) * (fah -32);
        return cel;
    }
    
  4. 正如预期的那样,它运作良好:

    enter image description here

答案 1 :(得分:1)

您的代码存在一些问题,但是有一个主要问题,它存在于您的转换函数中

public static double convert(double fah) {
    double convert;
    double cel = (5/9) * fah -32;
    return fah;
}

在这里你采取双fah,永远不会改变它并返回它。你应该返回新的变量cel。

public static double convert(double fah) {
    double cel = (5.0/9.0) * (fah -32);
    return cel;
}

你还有一个什么也没做的变量。你应该使用浮动进行划分。你也可以

public static double convert(double fah) {
    return (5/9) * (fah -32);
}

这样可以正常使用。

答案 2 :(得分:0)

public class Temperature
{
    public static double convert(double fah) {
        double convert;
        double cel = (5.0/9.0) * (fah -32);
        return cel;
    }
}
相关问题