一个Java小问题,进来看看啊。

王朝知道·作者佚名  2009-08-09
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

用Java写一个程序,将摄氏温度转化为华氏温度,华氏温度转化为摄氏温度。我写的如下,但不知道错误的原因。

abstract class TemperChange {

protected double C;

protected double F;

TemperChange(double C, double F) {

this.C = C;

this.F = F;

}

abstract double convert();

}

class CtoF extends TemperChange {

void CtoF(double C) {

this.C = C;

}

double convert(double F) {

F = C * (9 / 5) + 32;

System.out.println("从摄氏温度到华氏温度的转换");

System.out.println(

"*****************************************************");

System.out.println("摄氏温度为:" + C);

System.out.println("华氏温度为:" + F);

System.out.println();

}

}

class FtoC extends TemperChange {

void CtoF(double F) {

this.F = F;

}

double convert(double C) {

C = (F - 32) * (5 / 9);

System.out.println("从华氏温度到摄氏温度的转换");

System.out.println(

"*****************************************************");

System.out.println("华氏温度为:" + F);

System.out.println("摄氏温度为:" + C);

}

}

public class TextChange {

TextChange() {

}

public static void main(String[] args) {

CtoF change1 = new CtoF(98.6);

change1.convert();

FtoC change2 = new FtoC(100.0);

change2.convert();

}

}

參考答案:

你这个是小问题?

构造 抽象 用的都有问题。最好用接口。

以下是 改进后的代码!

/*

* 创建日期 2006-10-1

*

* TODO *

*/

abstract class TextChange {

protected double C;

protected double F;

TextChange(double C, double F) {

this.C = C;

this.F = F;

}

TextChange() {

}

abstract double convert();

}

class CtoF extends TextChange {

CtoF(double C) {

this.C = C;

}

double convert() {

double F;

F = C * (9 / 5) + 32;

System.out.println("从摄氏温度到华氏温度的转换");

System.out

.println("*****************************************************");

System.out.println("摄氏温度为:" + C);

System.out.println("华氏温度为:" + F);

System.out.println();

return F;

}

}

class FtoC extends TextChange {

FtoC(double F) {

this.F = F;

}

double convert() {

double C;

C = (F - 32) * (5 / 9);

System.out.println("从华氏温度到摄氏温度的转换");

System.out

.println("*****************************************************");

System.out.println("华氏温度为:" + F);

System.out.println("摄氏温度为:" + C);

return C;

}

}

public class TextChange1 {

public static void main(String[] args) {

CtoF change1 = new CtoF(98.6);

change1.convert();

FtoC change2 = new FtoC(100.0);

change2.convert();

}

}

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航