我正在學習Java,我正在通過Deitel & Deitel的書「Java:How To Program」。在學習的同時,我正試圖在後面進行練習。我正在進行的具體練習是:創建一個類然後測試該類
創建一個具有屬性長度和寬度的矩形,每個矩形默認爲1.提供計算矩形周長和麪積的方法。使用set和獲取長度和寬度的方法。設置的方法將驗證長度和寬度均爲大於0.0且小於20.0的浮點數。編寫一個程序來測試類Rectangle。
這裏是我已創建的類:
package rectangle;
public class Rectangle {
public float rectangle;
public float length;
public float width;
public float perimeter;
public float area;
public Rectangle(float length, float width){
if(length < 0.0 || length >= 20.0){
throw new IllegalArgumentException("Length must be between 0.0 and 20.0");
}
if(width < 0.0 || width >= 20.0){
throw new IllegalArgumentException("Width must be between 0.0 abnd 20.00");
}
this.length = length;
this.width = width;
}
public float getLength(){
return length;
}
public float getWidth(){
return width;
}
public void setPerimeter(float perimeter){
perimeter = ((getLength() *2) + (getWidth()*2));
}
public float getPerimeter(){
return perimeter;
}
public void setArea(float area){
area = getLength() * getWidth();
}
public float area(){
return area;
}
}
下面是測試類或驅動器類:
package rectangle;
public class TestRectangle {
public static void main(String[] args){
Rectangle rectangle1 = new Rectangle (3.2, 3.3);
System.out.printf("The perimeter of rectangle1 is: %d%n", rectangle1.getPerimeter());
}
}
正如我運行測試類(在IDE),該警報顯示:
「不兼容的類型:可能有損耗地從雙倍轉換爲浮點型」。
我不明白爲什麼IDE會提出這個警告。誰能幫忙?
Java中的浮點文字是'double'類型,但是''Rectangle''構造函數需要'float'。只需將構造函數中的參數數據類型更改爲「double」,以便稍後消除可能的錯誤。 – jdphenix
公共實例變量的訪問器會怎樣?讓那些私人!什麼是「公共浮動矩形」? –