2015-11-03 89 views
1

我想獲得實現文本視圖和使用MVC模式轉換的圖形視圖的代碼。目前,我的代碼將溫度從華氏溫度轉換爲攝氏溫度。溫度Java程序

我想我必須在Java標準庫中使用Observable類和Observer接口來實現MVC模式,但我可能是錯的。

這就是我到目前爲止。

public class Temperature { 
public static String CUnit = " °C"; 
private double tempF; 
private double tempC; 
public Temperature() { 
tempF=0; 
} 
public Temperature(double tempF) { 
this.setTempF(tempF); 
} 
public double getTempF() { 
return tempF; 
} 
public void setTempF(double tempF) { 
this.tempF = tempF; 
} 
private void convertFtoC(){ 
tempC = (getTempF()-32) * 5/9; 
} 
public double getTempC() { 
convertFtoC(); 
return tempC; 
} 
public void setTempC(double tempC) { 
this.tempC = tempC; 
} 
} 

而且,這裏是我的類MVC enter image description here

我是關閉?任何幫助表示讚賞

謝謝

+0

+ functionName(params):與public functionName(params)相同,您的getter無法調用任何函數。 – Bzil

+0

請注意這一行中整數除法的混淆結果:'(getTempF() - 32)* 5/9;'您可能希望將它們轉換爲雙精度。更多信息:http://stackoverflow.com/questions/7220681/division-of-integers-in-java – Tgsmith61591

+0

個人而言,我不會讓「轉換」成爲公開曝光的功能。讓他們設定攝氏度或華氏度,然後在「setter」代碼中計算兩者的值(並將它們存儲在成員變量中) –

回答

1

你有一個體面的MVC類圖,但您的代碼不符合您的類圖。

例如,在您的類圖中,Temperature是Observable的子類,但在您的代碼中,它不是Observable的子類。另外,從互聯網的這一方面來看,你是否還有一個可觀察的班級並不清楚。