日期:2014-05-20  浏览次数:20867 次

初学者的一道练习题,求解决思路!
Java code
class CCircle{
    private static double pi=3.14;
    private double radius;

public CCircle(double r){
    radius=r;
}
public CCircle compare(CCircle cir){
    if(this.radius>cir.radius)
         return this;
    else 
        return cir;
 }
}
public class app9_11 {
    
    public static void main(String[] args) {
        CCircle cir1=new CCircle(1.0);
        CCircle cir2=new CCircle(2.0);
        CCircle obj;
        
        
        obj=cir1.compare(cir2);
        if(cir1==obj)
            System.out.println("radius of cir1 is larger");
        else
            System.out.println("radius of cir2 is larger");
        // TODO 自动生成方法存根

    }

}



试修改compare()method,使得它是类app9_11里的成员函数,而不是CCircle类的成员函数。

我想自己来做,但不知道该怎么入手。请高手指点小弟我一些思路。

------解决方案--------------------
思路:在app9_11添加这个方法。然后实现两者比较。
compare(CCircle cir1,CCircle cir2){
}
------解决方案--------------------
public static CCircle compare(CCircle cir1, CCircle cir2){
if(cir1.radius>cir2.radius)
return cir1;
else 
return cir2;
 }
------解决方案--------------------
class CCircle{
private static double pi=3.14;
double radius;

public CCircle(double r){
radius=r;
}

}
public class app9_11 {
CCircle cir1,cir2;
public static CCircle compare(CCircle cir1,CCircle cir2){
if(cir1.radius>cir2.radius)
return cir1;
else
return cir2;
}
public static void main(String[] args) {
CCircle cir1=new CCircle(1.0);
CCircle cir2=new CCircle(2.0);
CCircle obj;


obj=compare(cir1,cir2);
if(cir1==obj)
System.out.println("radius of cir1 is larger");
else
System.out.println("radius of cir2 is larger");
// TODO 自动生成方法存根

}

}