我完全迷失了如何将坐标分类到数组中,并找到它们之间的距离。这是个问题:
创建一个名为“Circle”的新类,可用于创建自定义的圆形对象。您的课程应包括以下内容 - 请务必恰当地评论您的课程: 双半径, 双xPosition, 双yPosition,和 一种计算从一个圆的xPosition和yPosition到另一个圆的xPosition和yPosition的距离的方法。使用标准距离公式计算此值。出于此方法的目的,您只需计算从中心点到中心点的距离。这是一个方法标题,可以帮助您入门:
public double distanceFrom(Circle test)
创建一个名为“Assignment06b”的新类。在本课程中执行以下操作:
提示用户输入多个圈子(即您要创建多少个圈子?) 接下来,要求用户输入每个圆的半径,xPosition和yPosition。将他们的输入存储在适当大小的圆圈阵列中。 最后,遍历您的数组并显示每个圆的距离信息。确保您不计算从给定圆回到自身的距离(即不需要计算圆#1和圆#1之间的距离) - 这是运行程序的示例。
这是我到目前为止所拥有的:
import java.util.Scanner;
public class Assignment06b
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("How many circles do you want to create?:");
int amount = input.nextInt();
int[] arrayX = new int [amount];
int[] arrayY = new int [amount];
int counter = 0;
for (counter = 0; counter < amount; counter++)
{
System.out.println("Enter info for Circle #" + (counter + 1));
System.out.print("Radius: ");
double width = input.nextDouble();
System.out.print("X Position: ");
arrayX[counter] = input.nextInt();
System.out.print("Y Position:");
arrayY[counter] = input.nextInt();
}
}
class Circle
{
double radius;
double xPosition;
double yPosition;
Circle(double radius, double xPosition, double yPosition)
{
}
public double distanceFrom(Circle test)
{
double equation = (xPosition-xPosition)*(xPosition-xPosition) + (yPosition-yPosition)*(yPosition-yPosition);
double answer = Math.pow(equation, 0.5);
return answer;
}
}
}
答案 0 :(得分:1)
你在这里改变对象的方向,改变周围的东西,这样你就有了一个圆圈阵列而不是一组整数:
Circle[] arrayCircles = new Circle [amount];
此外,您没有在圈子类中设置任何值,您可能想要修复它:
Circle(double radius, double xPosition, double yPosition)
{
this.radius = radius;
this.xPosition = xPosition;
this.yPosition = yPosition;
}
然后您可以像这样添加圈子到您的收藏中:
arrayCirles[0] = new Circle(myRadius, myXPosition, myYPosition);
并调用你的distanceFrom方法调用:
//Obviously do this in a loop of some kind and make sure they exist first
arrayCircles[0].distanceFrom(arrayCircles[1]);
希望其余的你能弄清楚自己
(另请再看看你的distanceFrom方法,你想比较你作为参数传递的圆,而不是你自己)
答案 1 :(得分:0)
我目前正在使用 CAD 软件,我需要在方形网格/阵列中找到圆(孔)之间的距离,我发现圆之间的距离(边到边)由
给出(L-N*D)/(N-1)
哪里: L 是数组从边到边的距离(不是到末端圆的中心点,而是到末端圆的边缘) N 是圈数 D 是圆的直径
如果你从中心点到中心点测量 L (L+D-N*D)/(N-1)
如果你想找到中心点到中心点之间的距离,我相信你可以推导出它
有点晚了,但希望这对其他人有帮助!