計算正五邊形的面積和周長
阿新 • • 發佈:2019-02-14
從下列的抽象類shape類擴展出一個正五邊形(regular pentagon)類RPentagon,這個類將正五邊形的邊長作為私有成員,類中包含初始化這個值的構造方法。
public abstract class shape {// 抽象類
/ 抽象方法 求面積 / public abstract double getArea();
/ 抽象方法 求周長 / public abstract double getPerimeter(); }
請程式設計從鍵盤輸入正五邊形的邊長值,建立一個正五邊形物件,然後輸出正五邊形的面積和正五邊形的周長。計算正五邊形的面積公式為: S=5a^2/(4tan(36度))其中a為邊長。 或者:S=(1/4)a^2√(25+10√5) 輸出結果保留4位小數。
輸入格式:
輸入正五邊形的邊長。例如:
5
輸出格式:
輸出正五邊形的面積和周長。第一行輸出面積,第二行輸出周長。例如: 43.0119
25
輸入樣例:
16.8
輸出樣例:
485.5875
84
程式原始碼:
import java.text.DecimalFormat;
import java.util.Scanner;
abstract class shape {// 抽象類
public abstract double getArea();
public abstract double getPerimeter(); }
class RPentagon extends shape
{
private double a;
@Override
public double getArea() {
// TODO 自動生成的方法存根
return 5*Math.pow(a,2)/(4*Math.tan(36*Math.PI/180));
}
@Override
public double getPerimeter() {
// TODO 自動生成的方法存根
return 5*a;
}
public RPentagon(double a1)
{
a=a1;
}
}
public class Main
{
public static void main(String[]args)
{
DecimalFormat df=new DecimalFormat("#.####");
Scanner in=new Scanner(System.in);
RPentagon r=new RPentagon(in.nextDouble());
System.out.println(df.format(r.getArea()));
System.out.println(df.format(r.getPerimeter()));
in.close();
}
}