算法学习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     

 

posted @ 2014-11-13 23:58  Terminaling  阅读(447)  评论(0编辑  收藏  举报