小实验--对象作为参数传递


/*定义一个Circle类,包含一个double型的radius属性代表圆的半径,
* 一个findArea()方法返回圆的面积。
(2)定义一个类PassObject,在类中定义一个方法printAreas(),
该方法的定义如下:
public void printAreas(Circle c, int time)
在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。
例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。
在main方法中调用printAreas()方法,调用完毕后输出当前半径值
**/
package com.alhh.java;
public class PassObject{
public void printAreas(Circle c, int time){
System.out.println("radius"+" "+"Area");
//for(int i=0;i<=time;i++){
int i=1;
while(i<=time){
c.setRadius(i);
System.out.println(c.getRadius()+" "+c.findArea());
i++;
}
c.setRadius(i);//now radius 加1

}
public static void main(String[] args){
PassObject p=new PassObject();
Circle c=new Circle();
p.printAreas(c, 5);
System.out.println("now radius is :"+c.getRadius());
}

}


class Circle{
double radius;
public double findArea(){
return Math.PI*radius*radius;

}
public void setRadius(double n){
radius=n;
}
public double getRadius(){
return radius;
}
}

//结果如下
/*radius Area
1.0 3.141592653589793
2.0 12.566370614359172
3.0 28.274333882308138
4.0 50.26548245743669
5.0 78.53981633974483
now radius is :6.0
*/

原文地址:https://www.cnblogs.com/alhh/p/5315536.html