java程序填空

20.下面程序中定义了一个名为Comparable的接口,只要某个类的元素是可以“对比”的,就可以自由地使用这个接口。请设计一个矩形类,其中含有多个构造方法,并且为了对矩... 20.下面程序中定义了一个名为Comparable的接口,只要某个类的元素是可以“对比”的,就可以自由地使用这个接口。请设计一个矩形类,其中含有多个构造方法,并且为了对矩形进行排序(按照面积大小),需要为矩形类实现compareTo方法。

public interface Comparable{
public int compareTo(Object b);
}
public class Rectangle_____________{
double length;
double width;
public Rectangle ( ){//此构造方法无参数,缺省的给出长(20)和宽(10)

}
public Rectangle (double length, double width ){//此构造方法给出长和宽

}
public Rectangle(Rectangle rect){// 此构造方法以另一个Rectangle为参数

}
public double getLength {

}
public double getWidth {

}

//比较当前矩形与形式参数b中矩形的面积大小,如果当前矩形面积小于形式参数中//矩形面积,则返回-1;如果当前矩形面积大于形式参数中矩形面积,则返回1;其//他情况返回0;
public int compareTo(Object b){

}
public static void main(String[] args){
Rectangle rect1 = new Rectangle ( );
Rectangle rect2 = new Rectangle (50,40);
Rectangle rect3 = new Rectangle (rect2);
________________________________;
int d=______________________;
if(d==1) System.out.println(“The Area of rect3 is larger than rect1”);
if(d==-1) System.out.println(“The Area of rect3 is little than rect1”);
if(d==0) System.out.println(“The Area of rect3 is equal to rect1”);
}
}

请在上面空白处和横线处填入适当代码,使程序可以运行输出为:
rect3.length=50
rect3.width=40
The Area of rect3 is larger than rect1
展开
 我来答
xinfei0804
2012-01-02 · TA获得超过1638个赞
知道小有建树答主
回答量:547
采纳率:0%
帮助的人:329万
展开全部
package com.comparable;

public class Rectangle implements Comparable {

// 比较当前矩形与形式参数b中矩形的面积大小,如果当前矩形面积小于形式参数中//矩形面积,则返回-1;如果当前矩形面积大于形式参数中矩形面积,则返回1;其//他情况返回0;
@Override
public int compareTo(Object b) {
Rectangle rec = (Rectangle) b;
if (this.getLength() * this.getWidth() == rec.getLength()
* this.getWidth()) {
return 0;
} else if (this.getLength() * this.getWidth() > rec.getLength()
* this.getWidth()) {
return 1;
} else {
return -1;
}
}

double length;
double width;

public Rectangle() {// 此构造方法无参数,缺省的给出长(20)和宽(10)
this.length = 20;
this.width = 10;
}

public Rectangle(double length, double width) {// 此构造方法给出长和宽
this.length = length;
this.width = width;
}

public Rectangle(Rectangle rect) {// 此构造方法以另一个Rectangle为参数
this.length = rect.length;
this.width = rect.width;
}

public double getLength() {
return length;

}

public double getWidth() {
return width;

}

public static void main(String[] args){
Rectangle rect1 = new Rectangle ();
Rectangle rect2 = new Rectangle (50,40);
Rectangle rect3 = new Rectangle (rect2);
System.out.println("rect3.length="+(int)rect3.getLength()+"\r\nrect3.width="+(int)rect3.width);

int d=rect3.compareTo(rect1);
if(d==1) System.out.println("The Area of rect3 is larger than rect1");
if(d==-1) System.out.println("The Area of rect3 is little than rect1");
if(d==0) System.out.println("The Area of rect3 is equal to rect1");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
品怀缘
2012-01-02 · TA获得超过776个赞
知道小有建树答主
回答量:862
采纳率:100%
帮助的人:661万
展开全部
implements Comparable

System.out.println("rect3.length="+rect3. getLength()+"\n"+"rect3.width="+rect3.getWidth);

你可以分析一下最后一个,rect3 的面及大于rect1即可
rect1 = 20×10
rect2 = 40×50
rect3 = rect2

说明什么这里调用:int d = rect3.comparaTo(rect1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hezhilong03
2012-01-02 · TA获得超过3799个赞
知道小有建树答主
回答量:1563
采纳率:0%
帮助的人:1324万
展开全部
implements Comparable
rect3. getLength();
rect3.getWidth();
rect3.compareTo(rect1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疯希
2012-01-02 · TA获得超过540个赞
知道小有建树答主
回答量:216
采纳率:100%
帮助的人:172万
展开全部
路过,签名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangpo1991
2012-01-03 · 超过17用户采纳过TA的回答
知道答主
回答量:107
采纳率:100%
帮助的人:23.4万
展开全部
矩阵是最常见的了 留下什么方式 我把矩阵的代码发给你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式