(1)定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积。
(2)定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义如下:public void printAreas(Circle c, int time)
在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。
(3)在main方法中调用printAreas()方法,调用完毕后输出当前半径值。程序运行结果如图所示。
package com.atguigu.exer;
/*
* (1)定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积。
*/
public class Circle {
public double radius;
public double findArea(){
return Math.PI*radius*radius;
}
}
package com.atguigu.exer;
/*
* 定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义如下:public void printAreas(Circle c, int time)
在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。
*/
public class PassObject {
public void printAreas(Circle c, int time){ //这里的c就是一个Circle对象作为形参传入
System.out.println("Radius\t\tArea");
int i = 1;
for (; i <= time; i++) {
//设置半径的属性
c.radius =i;
//输出半径和面积
System.out.println(c.radius+"\t\t"+c.findArea());
}
c.radius=i;// i=time+1时退出循环
System.out.println("now radius is :"+c.radius);
}
}
package com.atguigu.exer;
public class Test {
public static void main(String[] args) {
PassObject po= new PassObject();
po.printAreas(new Circle(), 5); //new Circle()是一个匿名对象,传入的是其地址值
}
}
运算结果: