用JAVA按下面要求编写程序。

1、定义一个圆类Circle,包括一个私有数据成员:半径radius;两个公有方法:getRadius、setRadius,用于读取和设置radius;两个构造方法:一个... 1、定义一个圆类Circle,包括一个私有数据成员:半径radius;两个公有方法:getRadius、setRadius,用于读取和设置radius;两个构造方法:一个默认构造方法和一个带参数的构造方法,用来初始化对象。另外定义一个主类,在主类中定义一个类方法compareCircle,用于比较两个圆的大小,其中待比较的圆对象由参数传递;在main方法中利用默认构造方法定义一个半径为5的圆Circle,利用带参数的构造方法定义一个半径为8的圆,并调用方法compareCircle比较两个圆的大小。
我的方法好像哪儿出了问题,求大神解答:

package Circle;

public class Circle {
private int radius;
public int getRadius(){
return radius;
}
public void setRadius(int r){
radius=r;
}
public Circle(){
radius=0;
}
public Circle(int newradius){
radius=newradius;
}
}

public class zhulei {
public static boolean compareCircle(int r1,int r2){
return r1>r2;
}
public static void main(String[] args) {
Circle c1=new Circle();
Circle c2=new Circle();
c1.setRadius(5);c2.setRadius(8);
int t=zhulei.compareCircle(c1,c2);
}
还有什么系统默认构造方法也不是很明白。。唉,你先看看上面程序符不符合要求,求大神解答
展开
 我来答
毋文心31
推荐于2016-09-15 · TA获得超过212个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:150万
展开全部
你好,你的Circle类没有问题,
zhulei有问题,应该如下:
public class zhulei {
//比较两个圆大小,参数为两个圆对象,用半径进行比较。
public static boolean compareCircle(Circle c1 ,Circle c2){
return c1.getRadius()>c2.getRadius();
}
public static void main(String[] args) {
//默认构造方法
Circle c1=new Circle();
//手动设置半径
c1.setRadius(5);
//带参数的构造方法。自动设置了半径
Circle c2=new Circle(8);
//返回值是布尔型而不是int型。
boolean t = zhulei.compareCircle(c1,c2);
System.out.println("c1>c2吗?"+t);
}
希望能解决你的问题,满意请采纳。
追问
"用默认构造方法定义一个半径为5的圆"这个要求显示在哪儿,你上个写的注释我看上去他不是调用我的Circle()方法啊,而是创建一个c1实例啊,然后C1又手动设置半径,这是干嘛??
追答
你好,Circle c1=new Circle();这个就是调用默认构造方法,但默认方法是没有参数的,所以半径需要手动设置,所以调用用c1.setRadius(5);方法设置。
明白了吗。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-09-25
展开全部
package Circle;

class Circle {
private int radius;

public int getRadius(){
return radius;
}
public void setRadius(int r){
radius=r;
}
public Circle(){} //默认构造方法

public Circle(int newradius){ //带参数的构造方法
this.radius=newradius;
}
}

public class zhulei {
public static boolean compareCircle(Circle c1,Circle c2){ //compareCircle方法

if (c1.getRadius()>c2.getRadius()) {
return true;
}else{
return false;
}
}
public static void main(String[] args) {
Circle c1=new Circle();
Circle c2=new Circle();
c1.setRadius(5);c2.setRadius(8);
boolean t=zhulei.compareCircle(c1,c2);
System.out.println("c1>c2吗?"+t);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQMSD8
2014-09-25 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
构造方法就是
public Circle(){
//这是默认构造方法

}

public Circle(int radius){
this.radius = radius;
//这是带参数的构造方法
}

有了构造方法,那你new一个类的时候,就可以给一个值了
Circle c1=new Circle(10);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式