gpt4 book ai didi

java - 多个坐标之间的距离

转载 作者:行者123 更新时间:2023-12-01 15:05:11 24 4
gpt4 key购买 nike

我完全不知道如何将坐标排序到数组中,并找到它们之间的距离。这是问题:

  1. 创建一个名为“Circle”的新类,可用于创建自定义的圆形对象。您的类(class)应包括以下内容 - 请务必适本地评论您的类(class):双半径,双x位置,双 y 位置,以及一种计算从一个圆的 xPosition 和 yPosition 到另一个圆的 xPosition 和 yPosition 的距离的方法。使用标准距离公式计算该值。出于此方法的目的,您只需计算中心点到中心点的距离。这是一个可以帮助您入门的方法 header :

    公共(public)双距离(圆形测试)

  2. 创建一个名为“Assignment06b”的新类。在此类中执行以下操作:

    提示用户输入多个圈子(即您要创建多少个圈子?)接下来,要求用户输入每个圆的半径、xPosition 和 yPosition。将他们的输入存储在适当大小的 Circles 数组中。最后,迭代数组并显示每个圆的距离信息。确保您不计算从给定圆到其自身的距离(即无需计算圆 #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;
}
}
}

最佳答案

您在这里小心翼翼地围绕对象方向,改变一些东西,这样您就有一个圆数组而不是一个整数数组:

Circle[] arrayCircles = new Circle [amount];

此外,您没有在圈子类中设置任何值,您可能想要解决这个问题:

Circle(double radius, double xPosition, double yPosition)
{
this.radius = radius;
this.xPosition = xPosition;
this.yPosition = yPosition;
}

然后您可以将圈子添加到您的 Collection 中,如下所示:

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 方法,你想比较作为参数传递的圆,而不是与你自己进行比较)

关于java - 多个坐标之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13058741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com