函数题:圆和圆柱体1
编写一个Java程序,包含类Circle、Cylinder、Main,其中Main已经实现,请你编写Circle和Cylinder类。
(1)编写类Circle,表示圆形对象,包含以下成员
①属性:
1. radius:私有,double型,圆形半径;
②方法:
1. Circle(double radius), 构造方法,用参数设置圆的半径
1. Circle(),构造方法,将圆形初始化为半径为0。
1. void setRadius(double r):用参数r设置radius的值
1. double getRadius():返回radius的值
1. double getArea(),返回圆形的面积
1. double getPerimeter(),返回圆形的周长
1. public String toString( ),将把当前圆对象的转换成字符串形式,例如圆半径为10.0,返回字符串"Circle(r:10.0)"。
(2)编写一个Circle类的子类Cylinder,表示圆柱形对象,包含以下成员
①属性:
1. height:私有,double型,圆柱体高度;
②方法:
1. Cylinder(double radius,double height), 构造方法,用参数设置圆柱体的半径和高度
1. Cylinder(),构造方法,将圆柱体的半径和高度都初始化为0。
1. void setHeight(double height):用参数height设置圆柱体的高度
1. double getHeight():返回圆柱体的高度
1. double getArea(),重写Circle类中的area方法,返回圆柱体的表面积
1. double getVolume(),返回圆柱体的体积
1. public String toString( ),将把当前圆柱体对象的转换成字符串形式,例如半径为10.0,高为5.0,返回字符串"Cylinder(r:10.0,h:5.0)"。
### 输入格式:
第一行输入一个整数n,表示有n个几何图形。
以下有n行,每行输入一个几何图形的数据。
每行先输入一个字符串表示几何图形的类型,“Circle”表示圆形,“Cylinder”表示圆柱体。
如果是圆形,输入一个浮点数表示其半径。
如果是圆柱体,输入两个浮点数分别表示其半径和高度。
### 输出格式:
如果是圆形,要求计算其面积和周长并输出。
如果是圆柱体,要求计算其面积和体积并输出。
注意,圆周率用Math.PI
### 裁判测试程序样例:
c++
import java.util.Scanner;
public class Main{
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
for(int i = 0; i < n; i++) {
String str = input.next();
if(str.equals("Circle")) {
Circle c = new Circle(input.nextDouble());
System.out.println("The area of " + c.toString() + " is " + c.getArea());
System.out.println("The perimeter of " + c.toString() + " is "+ c.getPerimeter());
} else if(str.equals("Cylinder")) {
Cylinder r = new Cylinder(input.nextDouble(), input.nextDouble());
System.out.println("The area of " + r.toString() + " is " + r.getArea());
System.out.println("The volume of " + r.toString() + " is " + r.getVolume());
}
}
}
}
/* 请在这里填写答案 */
### 输入样例:
in
4
Circle 10.0
Cylinder 10.0 10.0
Circle 1.1
Cylinder 1.1 3.4
### 输出样例:
out
The area of Circle(r:10.0) is 314.1592653589793
The perimeter of Circle(r:10.0) is 62.83185307179586
The area of Cylinder(r:10.0,h:10.0) is 1256.6370614359173
The volume of Cylinder(r:10.0,h:10.0) is 3141.5926535897934
The area of Circle(r:1.1) is 3.8013271108436504
The perimeter of Circle(r:1.1) is 6.911503837897546
The area of Cylinder(r:1.1,h:3.4) is 31.101767270538957
The volume of Cylinder(r:1.1,h:3.4) is 12.924512176868411
答案:若无答案欢迎评论
(1)编写类Circle,表示圆形对象,包含以下成员
①属性:
1. radius:私有,double型,圆形半径;
②方法:
1. Circle(double radius), 构造方法,用参数设置圆的半径
1. Circle(),构造方法,将圆形初始化为半径为0。
1. void setRadius(double r):用参数r设置radius的值
1. double getRadius():返回radius的值
1. double getArea(),返回圆形的面积
1. double getPerimeter(),返回圆形的周长
1. public String toString( ),将把当前圆对象的转换成字符串形式,例如圆半径为10.0,返回字符串"Circle(r:10.0)"。
(2)编写一个Circle类的子类Cylinder,表示圆柱形对象,包含以下成员
①属性:
1. height:私有,double型,圆柱体高度;
②方法:
1. Cylinder(double radius,double height), 构造方法,用参数设置圆柱体的半径和高度
1. Cylinder(),构造方法,将圆柱体的半径和高度都初始化为0。
1. void setHeight(double height):用参数height设置圆柱体的高度
1. double getHeight():返回圆柱体的高度
1. double getArea(),重写Circle类中的area方法,返回圆柱体的表面积
1. double getVolume(),返回圆柱体的体积
1. public String toString( ),将把当前圆柱体对象的转换成字符串形式,例如半径为10.0,高为5.0,返回字符串"Cylinder(r:10.0,h:5.0)"。
### 输入格式:
第一行输入一个整数n,表示有n个几何图形。
以下有n行,每行输入一个几何图形的数据。
每行先输入一个字符串表示几何图形的类型,“Circle”表示圆形,“Cylinder”表示圆柱体。
如果是圆形,输入一个浮点数表示其半径。
如果是圆柱体,输入两个浮点数分别表示其半径和高度。
### 输出格式:
如果是圆形,要求计算其面积和周长并输出。
如果是圆柱体,要求计算其面积和体积并输出。
注意,圆周率用Math.PI
### 裁判测试程序样例:
c++
import java.util.Scanner;
public class Main{
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
for(int i = 0; i < n; i++) {
String str = input.next();
if(str.equals("Circle")) {
Circle c = new Circle(input.nextDouble());
System.out.println("The area of " + c.toString() + " is " + c.getArea());
System.out.println("The perimeter of " + c.toString() + " is "+ c.getPerimeter());
} else if(str.equals("Cylinder")) {
Cylinder r = new Cylinder(input.nextDouble(), input.nextDouble());
System.out.println("The area of " + r.toString() + " is " + r.getArea());
System.out.println("The volume of " + r.toString() + " is " + r.getVolume());
}
}
}
}
/* 请在这里填写答案 */
### 输入样例:
in
4
Circle 10.0
Cylinder 10.0 10.0
Circle 1.1
Cylinder 1.1 3.4
### 输出样例:
out
The area of Circle(r:10.0) is 314.1592653589793
The perimeter of Circle(r:10.0) is 62.83185307179586
The area of Cylinder(r:10.0,h:10.0) is 1256.6370614359173
The volume of Cylinder(r:10.0,h:10.0) is 3141.5926535897934
The area of Circle(r:1.1) is 3.8013271108436504
The perimeter of Circle(r:1.1) is 6.911503837897546
The area of Cylinder(r:1.1,h:3.4) is 31.101767270538957
The volume of Cylinder(r:1.1,h:3.4) is 12.924512176868411
答案:若无答案欢迎评论