
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 展开
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 展开
5个回答
展开全部
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");
}
}
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");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
implements Comparable
rect3. getLength();
rect3.getWidth();
rect3.compareTo(rect1)
rect3. getLength();
rect3.getWidth();
rect3.compareTo(rect1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
路过,签名。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
矩阵是最常见的了 留下什么方式 我把矩阵的代码发给你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |