2

我有一个华氏类,它应该从主类中获取一个数字并将其转换为摄氏度。一切正常,但转换部分。我做了一个我调用的方法,以便可以转换数字,但是每当程序运行时,它都会给我 -0.0 或 0.0(无论数字是多少)我知道负数部分是正确的,但我只需要它显示实际转换的数字。

自从我完成任何类型的 java 编程以来已经整整一年了,我仍然是一个初学者。我查阅了 java 文档以进行复习,并编写了简单的简单程序以重新回到游戏中,但我迷路了有了这个。请任何输入都会有所帮助

这是主要课程

public class test { 
  public static void main (String[] args) {
    double t = 100;

    Fahrenheit temp = new Fahrenheit(t);

    temp.convert();

  }
}

和华氏等级

public class Fahrenheit{

 private double tempF = 0;

 public Fahrenheit (double inputTemp){
    tempF = inputTemp;
 }

public double convert () {

    double c = 5/9*(tempF-32);

    System.out.println(c );
    return c;
 }
}
4

2 回答 2

4
double c = 5/9*(tempF-32);

在上面的行中,您正在执行整数除法 - 5 / 9,其结果是0。因此你得到了0.0.

您可以将numerator或之一更改denominatordouble value: -

double c = 5.0 / 9 * (tempF-32);

或者,先做乘法: -

double c = 5 * (tempF-32) / 9 ;
于 2013-02-03T20:41:59.920 回答
0
 double c = 5/9*(tempF-32);

在上面的行中,您正在执行整数除法 5 / 9,其结果为 0。

您还可以使用:

double c = (double)5/9*(tempF-32);

或者

double c = 5.0 / 9 * (tempF-32);
于 2013-02-03T20:58:17.270 回答