Итак, я работаю над классом треугольников и хочу использовать Point2D.Double для хранения точек с высокой точностью.
import java.awt.geom.Point2D.Double;
public class Triangle {
private Double pointOne = new Double();
private Double pointTwo = new Double();
private Double pointThree = new Double();
private final float PERCISION = 0.009f;
public Triangle(double x1, double y1, double x2, double y2, double x3, double y3)
{
pointOne.x = x1;
pointOne.y = y1;
pointOne.setLocation(x2, y2);
pointOne.setLocation(x3, y3);
}
public Double getPointOne()
{
return pointOne;
}
public Double getPointTwo()
{
return pointTwo;
}
public Double getPointThree()
{
return pointThree;
}
Однако, когда я проверяю его в основном и вводим код ниже, он печатает координаты, но с очень низкой точностью.Я пытался использовать float, но он всегда заканчивается одним и тем же результатом.
Triangle tri = new Triangle( 0.0000, 0.0000, 2.0008, 0.0000, 0.0000, 2.0000);
System.out.println("Point 1 coordinates: (" + tri.getPointOne().getX() + ", " + tri.getPointOne().getY() + ")");
System.out.println("Point 2 coordinates: (" + tri.getPointTwo().getX() + ", " + tri.getPointTwo().getY() + ")");
System.out.println("Point 3 coordinates: (" + tri.getPointThree().getX() + ", " + tri.getPointThree().getY() + ")");
Вот то, что он печатает на всякий случай, если вам это нужно.
Координаты точки 1: (0.0, 2.0)
Координаты точки 2: (0,0, 0,0)
Координаты точки 3: (0,0, 0,0)
В идеале это то, что я хотел бы распечатать.
Координаты точки 1: (0,0000, 2.0008)
Координаты точки 2: (0,0000, 0,0000)
Координаты точки 3: (0,0000, 0,0000)