算法学习1
因为报名参加了蓝桥杯软件技术大赛,所以,我这段时间也在练习写算法方面的题,但这不是主要的,更多的是为自己打下一个好的基础,为以后自己找工作做储备。
题目:定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()返回圆的面积。定义一个passObject,在类中定义一个方法printAreas(),该方法的定义如下: public void printArea(Circle c,int time)。在printAreas中打印输出1到time之间的每个整数半径值,以及对应的面积,
例如,time为5,则输出半径1,2,3,4,5.以及对应的圆面积。在main中调用printAreas()方法,调用完毕后输出当前半径值。
代码如下:有兴趣的看了我这个可以自己试着写一下。
1 public class PassObject { 2 public void printAreas(Circle c,int time){ 3 System.out.println("Radius"+"\t\t"+"Area"); 4 // int temp = 0; 5 // for(int i = 1;i<time;i++,temp = i){ 6 // c.setRadius(i); 7 // System.out.println(c.getRadius()+"\t\t"+c.findArea()); 8 // } 9 // c.setRadius(temp); 10 int i= 1; 11 while(i <= time){ 12 c.setRadius(i); 13 System.out.println(c.getRadius()+"\t\t"+c.findArea()); 14 i++; 15 } 16 c.setRadius(i); 17 } 18 public static void main (String[] args){ 19 PassObject p = new PassObject(); 20 Circle c = new Circle();//此时的半径为0 21 p.printAreas(c, 5); 22 System.out.println("now radius is: "+c.getRadius()); 23 24 } 25 26 } 27 class Circle{ 28 double radius; 29 30 public double findArea(){ 31 return Math.PI*radius*radius; 32 //return Math.PI*getRadius()*getRadius(); 33 } 34 public void setRadius(double r){ 35 radius = r; 36 } 37 public double getRadius(){ 38 return radius; 39 } 40