1. 程式人生 > >計算正五邊形的面積和周長

計算正五邊形的面積和周長

從下列的抽象類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(); } }