解释器提示说55行和57行(main函数的两个new字段处)说两个子类的构造函数出了问题,可是,为什么啊??
到底哪里有问题,我真的看不出来.abstract class Conversion
{
float temp;
Conversion(float temp0)
{
temp=temp0;
}

abstract void Convert();
}
//Fahrenheitclass Fahren extends Conversion
{
         Fahren(float temp2)
{
super(temp2);
}

void Convert()
{
System.out.println("摄氏温度到华氏温度的转换\n************************************************\n");
System.out.println("摄氏温度是:"+temp);
temp=temp*9/5+32;
System.out.println("华氏温度是:"+temp);
}
}//Celsiusclass Celsius extends Conversion
{
Celsius(float temp1)
{
super(temp1);
}

void Convert()
{
System.out.println("华氏温度到摄氏温度的转换\n************************************************\n");
System.out.println("华氏温度是:"+temp);
temp=(temp-32)*5/9;
System.out.println("摄氏温度是:"+temp);
}
}//Testpublic class ConversionTest
{
public static void main(String[] args)
{
Fahren obj1=new Fahren(100.0);
obj1.Convert();
Celsius obj2=new Celsius(98.6);
obj2.Convert();
}
}

解决方案 »

  1.   

    是要把子类构造的形参改成double吗?
      

  2.   

    把float全部改成double就可以了,为什么啊?
      

  3.   

    ......
    Fahren obj1=new Fahren(100.0f);
    ......
    Celsius obj2=new Celsius(98.6f);
    ......
      

  4.   

    谢谢Veeve的回答,是系统自动的吗?凡是都把像上面那样没加f的默认为double吗?
      

  5.   

    谢谢Veeve的回答,是系统自动的吗?凡是都把像上面那样没加f的默认为double吗?
    -------
      

  6.   

    关于浮点型 JAVA默认是double型的
    例如: float f = 100.0; 是不对的  应该是  float f = 100.0f;