2010-10-24 85 views
1

在我的作业中,我有一个问题/部分,我很困惑(无法理解)。澄清具体方法

四)主要方法为每个地震对象调用printdata()方法。 printData()方法接受地震对象作为参数,并打印所有地震的想法,包括纬度,经度,大小和分类。请记住,在调用访问器方法并打印分类之前,需要调用地震对象的determineClassification()方法。

我明白了一切,直到大胆的时代,它在调用存取方法和打印之前称为地震对象的确定方法意味着什么。

部分I:地震服务类有4个属性,LAT,LON,MAG,分类

包括以下对于第一部分,构造,第二构造函数参数(LAT,LON,MAG),存取器为每个方法属性,用于除分类以外的所有属性的增变器方法。

一种名为determineclassification()的方法,根据上面显示的表和magnitude属性的值使用范围检查,并将分类属性的值设置为表中指定的适当单词。请记住在设计此方法时选择低端或高端范围检查。

第二部分斜体。

PSEUDO CODE。

地震服务类

public class Earthquakes 

    // declarations 
    private num latitude 
    private num longitude 
    private num magnitude 
    private String classification 

    public Earthquakes () 
     latitude = 0.0 
     longitude = 0.0 
     magnitude = 0.0 
     classification = “new” 
    return 

    public void Earthquake(num lat, num lon, num mag) 
     latitude = lat 
     longitude = lon 
     major = maj 
    return 

    public num getLatitude() 
    return latitude 

    public num getLongitude () 
    return longitude 

    public String getMagnitude() 
    return magnitude 

    public num getClassification() 
    return classification 

    public void setLatitude (num lat) 
     latitude = lat 
    return 

    public void setLongitude (num lon) 
     longitude = lon 
    return 

    public void setMagnitude(num mag) 
     magnitude = mag 
    return 


Public determination class() 
If magnitude > 0 AND magnitude < 2.9 then 
    Classification = Micro 
Else if magnitude > 3 AND magnitude < 3.9 then 
    Classification = Minor 
Else if magnitude 4 > AND magnitude < 4.9 then 
    Classification = Light 
Else if magnitude 5 > AND magnitude < 5.9 then 
    Classification = Moderate 
Elseif magnitude 6 > AND magnitude < 6.9 then 
    Classification = Strong 
Else if magnitude 7 > AND magnitude < 7.9 then 
    Classification = Major 
Else if magnitude >= 8 
    Clarification = Great 
end if 

end class 

HazardsProgram class 

Public class HazardsProgram 

Public void main() 
// Declarations 

Earthquake1 (lat 47.74N, lon 154.34E, mag 5.1) 

Earthquake2 (lat 35.44N, lon 97.46W, mag 2.8) 

Earthquake3 (lat 29.73S, lon 177.98W, mag 6.5) 

Earthquake4 (lat 61.04N, long 147.73W, mag 9.2) 

Print Data void eq(earthquake1) 
    Output latitude, longitude, magnitude, classification 

Return 

End class 

回答

0
foreach earthquake as e 
    e.determineClassification(this) 
    e.printdata(this) 

function determineClassification(e) 
    e.class = class1 

function printdata(e) 
    e.print() 
+0

嗯还是有点困惑。我的确定分类()是这样设置的,并且在它内部它们具有如果其他语句(大小和分类)。所以它是指确定分类(地震),设置确定分类,或调用确定分类的打印方法。 – james 2010-10-24 00:17:55

+0

我认为它所说的是,尽管通常'访问器'方法获取关于对象的信息(如getPrintData()),但在打印之前需要调用地震对象上的determineClassification方法。 – Orbit 2010-10-24 00:22:24

+0

我知道打印它,但仍然不确定如何处理确定方法,确定分类(地震1,2,3,4)printdata void eq(Earthquake1)。如果我让它变得更加复杂,我很抱歉,但是我真的只是停留在这个特定的区域。 – james 2010-10-24 00:27:06