题目:
【问题描述】
定义一个描述圆的类,名字为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();
}
}