当前位置: 首页 > 知识库问答 >
问题:

我需要比较两个形状,以确定哪一个比另一个大或小使用可比接口

施彬彬
2023-03-14
public abstract class Shape {
protected int height;
protected int width;


public Shape(int height, int width) {
this.height = height;
this.width = width;

}




public final void printArea() {
System.out.println("This " + getName() + " has a height of " +
height + ", a width of " + width + ", and an area of " + 
getArea() + ".");
}



public final void printPerimeter() {
System.out.println("This " + getName() + " has a height of " +
height + ", a width of " + width + ", and a perimeter of " + 
getPerimeter() + ".");
}



protected abstract String getName();
protected abstract double getArea();
protected abstract double getPerimeter();

}
}

这是我的开始代码我有另外三个类矩形,右三角,和正方形都与代码,但我集中在我的形状类首先我需要实现可比接口可比。然后,因为get area方法在每个子类中被重写。我可以在Shape类中编写一个compareTo()方法,该方法在将任何形状或子类对象与其他对象进行比较时都能正确工作。我需要实现compareTo()方法。那么公共int compareTo(形状s)正确吗?现在进行比较的代码是int k=getName().compareto(s.getName());.我需要重写从Shape类中的Object继承的toString()方法,并让它返回一个字符串,其中包括当前对象的名称及其区域,格式如下:

名称:地区

共有1个答案

王飞英
2023-03-14
int compareTo(Shape shape) {
   return getArea() - shape.getArea();
}

这将允许您比较形状,如果它较小,该方法将返回<0,如果它相等,则返回0,如果它较大,则返回正数,就像可比性接口应该做的那样

 类似资料:
  • 我想将调用活动与其他活动进行比较,以了解哪个调用了当前活动。我试过: 它不起作用,除了通过在调用意图中传递一个值,我们如何使用或来比较类?

  • 问题内容: 我想知道如何比较两个不同的数据库 表记录 。我的意思是,我将比较两个数据库表,它们可能具有不同的列名但具有相同的数据。但是其中一个表可能比另一个表具有更多的记录,因此我想看看这两个表之间的区别是什么。为此,如何编写sql查询?仅供参考:这两个数据库都在同一个SQL Server实例下。 然后,在比较表1和表2之后,它应该 从 表2返回 Ruby Core。 问题答案: 如果执行从T1到

  • 创建一个名为“Circle”的Java类来实现Java。io。可串行化接口,并基于半径对圆进行建模。半径不能小于零。实现radius的getter和setter方法。还包括在circle类中重写toString。创建类的比较器,用于比较Circle类型的两个对象。 这就是我目前所拥有的 这是我的比较器类 我的问题是我做得对还是不对?

  • 我的程序实现了一个类,其对象包含以下实例变量:、、和。 在对链接列表执行任何其他操作之前,我需要对产品的链接列表进行排序。 我想先按优先级(从最低到最高)对列表进行排序。如果优先级相同,请查看价格(从低到高),然后查看名称(按字母顺序)。 我做了很多关于、和的阅读。我相信我需要使用接口并实现一个方法。我的想法是,因为、和都有一个“自然”排序,所以使用更有意义。 然后当我想对我的LinkedList

  • 问题内容: 我注意到最近有一段代码直接比较两个整数列表,如下所示: 这似乎有点奇怪,但我想如果所有元素都大于,它将返回,如果每个元素相等或元素大于则返回False 。所以我测试了它: 好的,行得通。和: 但是当它变得更加模糊时: 要么: 结果有点陌生。python实际在做什么?看来它返回的结果偏向于第一个列表,其中最左边的元素大于相应的元素? 问题答案: 从比较序列和其它类型在Python教程:

  • 问题内容: 我需要比较两个缓冲图像,看它们是否完全相同。只是说那等于是行不通的。我目前的方法是 但这并不能真正起作用。还有什么其他更可靠的方法? 问题答案: 显而易见的解决方案是逐像素比较它们是否相同。