題目:
【問題描述】
定義一個描述圓的類,名字為Circle,屬性有:
private double radius
方法有:
double getPerimeter(),計算圓的周長
double getArea(),計算圓的面積
void disp(),輸出圓的半徑、周長和面積
另外,有兩個構造方法:
Circle(),屬性半徑指派為0
Circle(double r),屬性半徑指派為r
編寫main方法,從鍵盤輸入一個小數值,作為圓的半徑,并生成該對象,最後調用disp()方法,輸出結果。
【輸入形式】
小數,圓的半徑值。
【輸出形式】
圓的半徑、直徑和面積,小數位保留4位。
【樣例輸入1】
3
【樣例輸出1】
radius=3.0000
perimeter=18.8496
area=28.2743
【樣例輸入2】
5
【樣例輸出2】
radius=5.0000
perimeter=31.4159
area=78.5398
【樣例說明】
輸入和輸出的格式要和指定格式嚴格比對,否則不得分。
【評分标準】
結果完全正确得20分,每個測試點4分。
【備注】
從鍵盤讀入雙精度數,可以用如下代碼:
Scanner in = new Scanner(System.in);
double n = in.nextDouble();
使用Scanner類,需要導入import java.util.Scanner;
輸出用如下代碼:
System.out.printf(“x=%.4f\n” , x);
格式控制符和C語言中的要求一樣。
代碼:
import java.util.Scanner;
class Circle{
private double radius;
Circle(){
radius=0;
}
Circle(double r)
{
radius=r;
}
double getPerimeter() {
return 2*Math.PI*radius;
}
double getArea() {
return Math.PI*radius*radius;
}
void disp() {
System.out.printf("radius=%.4f\n",radius);
System.out.printf("perimeter=%.4f\n",getPerimeter());
System.out.printf("area=%.4f\n",getArea());
}
}
public class Test{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
double r=in.nextDouble();
Circle circle=new Circle(r);
circle.disp();
}
}