- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
理想情况下,我不希望它是静态的或无效的。这是我目前能够让它发挥作用的唯一方法。
我有一个 Shape 父类(super class)。它有一个 area() 方法,我在 Rectangle 类和 Circle 类中 @Override 。在我的主要方法中使用文件 IO。我正在尝试创建一种方法来迭代我的形状数组列表,以找到最大的面积()。
当我尝试不同的事情时,我遇到了一些不同的错误。当我尝试类似的方法时,Shapelargest=largest.get(0).area();我收到一条错误消息,说我无法将 double 型转换为形状。
我希望能够从我的 arrayList 中获取一个区域,然后将其与该 ArrayList 中的其他区域进行比较,并执行排序方法以找到最大的区域并将其存储并返回。另外,当我尝试返回时,它不会让我返回,因为它不是静态的。
但我不能使我的其他方法静态,这不是设计的一部分。以下是我一直在 foreach 中尝试的方法,我知道这是不对的,但是我可以使用它吗?如何让它存储我创建的对象 e 而不会每次都覆盖它?
如果上传的更多代码有帮助,请告诉我。
Java
public static void shapeWithLargestArea(ArrayList<Shape> shapes) {
for(Shape e: shapes) {
double largest = e.area();
if (e.area() > largest) {
largest = e.area();
}
System.out.println(largest);
} // end for each loop
} // end largest area method
最佳答案
您的代码无法使用 Shapelargest =largest.get(0).area();
进行编译,因为您的area()方法返回一个double
并且您尝试放入使用 Shape
键入的变量。
你可以实现这个
public static Shape shapeWithLargestArea(ArrayList<Shape> shapes) {
Shape largestShape = null;
for(Shape shape: shapes) {
if(largestShape == null || shape.area() > largestShape.area())
largestShape = shape;
}
return largestShape;
}
但是在java 8中,我认为你可以用流编写更优雅的代码
在 Shape 类中编写内部比较器类:
private static class ShapeAreaComparator implements Comparator<Shape> {
@Override
public int compare(Shape s1, Shape s2) {
return s1.area().compareTo(s2.area());
}
}
并在类的静态方法中使用它,如下所示
public static Shape shapeWithLargestArea(ArrayList<Shape> shapes) {
return shapes.stream().max(new ShapeAreaComparator()).get();
}
但是你的area()方法必须返回一个Double而不是一个double才能使用compareTo()方法
关于java - 从 ArrayList 中查找各种 Shape 对象的最大面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46450690/
我正在开发一个企业名录网站,其搜索将由 Google map 驱动。用户将能够根据各种标准搜索他们所在地区的企业,但主要的想法是,如果您搜索例如“新泽西州的水管工”,您将获得新泽西州所有水管工的结果。
我得到了一条任意形状的曲线,包围了一些区域。 我想估计曲线在 iPhone/iPad 屏幕上包围的像素数。我该怎么做? 曲线被定义为点的连续 x/y 坐标。 闭合曲线。 通过用户的触摸(touches
我想删除 R 在点阵图周围的默认边距。这意味着我想摆脱红色矩形之外的所有空白。这是示例: library (raster) library(rasterVis) f <- system.file("e
无法找到任何直接的解决方案来计算 GMSPolygon 对象面积。有什么方法可以做到这一点,或者我必须用边长和一些数学计算来计算它? 最佳答案 感谢@Larme; GMSGeometryArea 就是
假设例如我想将标准正态分布的密度曲线下方的面积着色为十分。我希望最左边 10% 的区域具有与接下来的 10% 不同的阴影,依此类推。 这是问题“Shading a kernel density plo
我正在为 Extjs 开发一个混合图表组件,并且曲线太尖锐了。我找不到曲线具有半径的配置。如果你处理过类似的事情,你能提供一些方法让我的曲线变得平滑一点吗?这是我的代码: Ext.define('Ex
上下文 我有一个 3D 对象,我有它的坐标。然后我将对象旋转 n 次,当对象投影到网格上时,我想计算对象的 2D 面积(以纳米为单位)。 例如, 我在下面有一张图片描述了我的问题。我有相同的对象,但在
当我知道我需要的地 block 总数并且我希望排列是一个正方形(可能有一些空的子地 block )时,我正在尝试弄清楚如何计算子地 block 尺寸。 例如,如果我需要 22 个子图,那么我会为总共
我是一名数据科学家。主要使用Python和SQL来编写代码。我使用data studio进行可视化。所以我对JS不熟悉。我的诀窍data studio community visualizations
我有 1797 张 Mnist 图像,为此我需要提取两个特征(FilledArea、EulerNumber)。我知道如何在 Matlab 中做到这一点。我的特征矩阵在 Matlab 中具有(并且是正确
我希望能够在 Google map 上绘制形状(圆形、多边形和矩形),但我想限制可以绘制的形状的大小(面积)。因此,以圆圈为例,期望的行为是当用户开始从 map 上的某个点拖动鼠标以形成圆圈时,圆圈会
我是一名优秀的程序员,十分优秀!