JAVA 煩請各位大大教我以下問題..

我是初學者 煩請各位大大解答以下問題.. 謝謝 class Calculator { double price; // 每平方公尺的價格(元) Calculator(double price) { // 建構方法 this.price = price; } double calculatePrice(Land l) { return calculatePrice(price,l); } double calculatePrice(double price,Land l) { return l.area() * price; // 透過多形呼叫正確的 area() 方法 } ... 顯示更多 我是初學者
煩請各位大大解答以下問題..
謝謝


class Calculator {
double price; // 每平方公尺的價格(元) Calculator(double price) { // 建構方法
this.price = price;
} double calculatePrice(Land l) {
return calculatePrice(price,l);
} double calculatePrice(double price,Land l) {
return l.area() * price; // 透過多形呼叫正確的 area() 方法
} double calculateAllPrices(Land... Lands) {
// 使用多重定義的版本
return calculateAllPrices(price,Lands);
} double calculateAllPrices(double price,
Land... Lands) { // 多重定義的版本
double total = 0; // 加總變數 for(Land l : Lands) { // 一一取出各個物件
total += calculatePrice(price,l); // 個別計算並累加
} return total;
}
}public class Lands4 {
public static void main(String[] argv) {
Circle c = new Circle(5); // 一塊圓形的地
Square s = new Square(5); // 一塊正方形的地 Calculator ca = new Calculator(3000.0); // 每平方公尺3000元 System.out.println("價值:" + // 呼叫可指定地價的版本
ca.calculatePrice(4000,c));
System.out.println("總價值:" + // 使用匿名陣列
ca.calculateAllPrices(4000,c,s));
}
}

1.請修改以上程式,新增一個Rectangle類別,代表矩形的土地,並在main()中測試新增的類別

2.延續上一題,請再加入一個Triangle類別,代表直角三角形的土地,請測試之

3.請沿用上一題所撰寫的程式,另外撰寫一個Utility類別,提供有一個max()方法,可以傳入任意個代表土地的物件,並傳回其中面積最大的一塊土地的面積
2 個解答 2