这是我到目前为止所做的代码。它创造了 ArrayList
加上圆圈。卷被存储并在控制台中打印。我要做的最后一件事就是用for each循环打印出最小的卷。这就是我遇到的困难。我真的需要一些帮助/建议
public static void main(String[] args)
{
Random rand = new Random();
final int RADIUS_MAX = 100;
int NUM_SPHERES = 4;
List<Sphere> spheres = new ArrayList<Sphere>();
for(int add = 1; add <= NUM_SPHERES; add++) {
spheres.add(new Sphere(rand.nextInt(RADIUS_MAX)));
}
for (Sphere s : spheres) {
System.out.println(s);
}
//TODO: Convert to a for-each loop to find the volume of the smallest sphere
for (Sphere s : spheres) {
}
}
2条答案
按热度按时间46scxncf1#
这个
volume
球面的公式依赖于半径V <=> R
,因此不需要每次都计算体积,因为最小凸面将具有最小半径。uxhixvfz2#
您不需要额外的循环。半径最小的球体体积最小。您可以存储到目前为止最小的卷(初始化为非常大的卷)并在现有循环中更新它。我相信体积的公式是
(4. / 3) * Math.PI * Math.pow(radius, 3)
.