遇到java程序的问题

时间:2013-02-03 20:40:14

标签: java

我有一个 Fahrenheit 类,它应该从主类中获取一个数字并将其转换为摄氏度。 一切都有效,但转换部分。 我做了一个我调用的方法,以便可以转换数字,但每当程序运行时,它给我-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;
 }
}

2 个答案:

答案 0 :(得分:5)

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

在上面一行中,您执行整数除法 - 5 / 9,其结果为0。因此你得到0.0

您可以将其中一个numeratordenominator更改为double value: -

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

或者,首先进行乘法运算: -

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

答案 1 :(得分:0)

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

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

您也可以使用:

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

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