import java.util.Scanner;
public class Circle {
private double r;
public void setR(double R){
r=R;
}
public double getR(){
return r;
}
public double area(double r){
return Math.PI*r*r;
}
public double peri(double r){
return 2*Math.PI*r;
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入圆的半径:");
double a=in.nextDouble();
Circle cir1=new Circle();
cir1.setR(a);
System.out.println("圆的半径为:"+cir1.getR());
System.out.println("圆的面积为:"+cir1.area(a));
System.out.println("圆的周长为:"+cir1.peri(a));
}
}
在 main 函数中实现:
A)屏幕中输入半径,先保存到一个局部变量中
B)用无参 Constructor 生成 Circle 对象,对象变量是 cir1;并调用 setR 来设置 cir1 的半 径(上面屏幕输入的值),再输出 cir1 的 r、面积、周长;
C)用有参 Constructor 生成 Circle 对象,对象变量是 cir2,cir2 的半径在对象生成的时 候用有参 Constructor 初始化(上面屏幕输入的值),输出 cir2 的 r、面积、周长。
请问怎么B、C的用无(有)参生成Circle对象是什么意思?需要怎么修改?谢谢
public class Circle {
private double r;
public void setR(double R){
r=R;
}
public double getR(){
return r;
}
public double area(double r){
return Math.PI*r*r;
}
public double peri(double r){
return 2*Math.PI*r;
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入圆的半径:");
double a=in.nextDouble();
Circle cir1=new Circle();
cir1.setR(a);
System.out.println("圆的半径为:"+cir1.getR());
System.out.println("圆的面积为:"+cir1.area(a));
System.out.println("圆的周长为:"+cir1.peri(a));
}
}
在 main 函数中实现:
A)屏幕中输入半径,先保存到一个局部变量中
B)用无参 Constructor 生成 Circle 对象,对象变量是 cir1;并调用 setR 来设置 cir1 的半 径(上面屏幕输入的值),再输出 cir1 的 r、面积、周长;
C)用有参 Constructor 生成 Circle 对象,对象变量是 cir2,cir2 的半径在对象生成的时 候用有参 Constructor 初始化(上面屏幕输入的值),输出 cir2 的 r、面积、周长。
请问怎么B、C的用无(有)参生成Circle对象是什么意思?需要怎么修改?谢谢
Circle cir1=new Circle(a);有参无参构造器
public Cricle(){}有参构造器
public Cricle(double a){
this.r=a;
}
private double r; //无参构造器
public Circle() {
}
//有参构造器
public Circle(double R){
r= R;
}
public void setR(double R) {
r = R;
} public double getR() {
return r;
} public double area(double r) {
return Math.PI * r * r;
} public double peri(double r) {
return 2 * Math.PI * r;
} public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入圆的半径:");
double a = in.nextDouble();
Circle cir1 = new Circle(); //用无参 Constructor 生成 Circle 对象
Circle cir2 = new Circle(3.0); //用有参 Constructor 生成 Circle 对象
cir1.setR(a);
System.out.println("圆的半径为:" + cir1.getR());
System.out.println("圆的面积为:" + cir1.area(a));
System.out.println("圆的周长为:" + cir1.peri(a));
}
}