Я пытаюсь передать координаты x и y конструктору класса с помощью java.awt.Point. Мой основной класс выдает ошибку: «Конструктор Quadrilateral (int, int, int, int, int, int, int, int) не определен. Я думал, что, переходя к моему строителю« Четырехугольник »(Point ... points) я мог бы передать координаты в виде простого списка. может кто-нибудь сказать мне, где эти несколько строк кода может быть неправильно?Передайте значения классу
Main
import java.awt.Point;
public class QuadrilateralTest
{
public static void main(String[] args)
{
Quadrilateral quadrilateral = new Quadrilateral(1, 1, 6, 2, 6, 9, 2, 7);
System.out.printf("%s %s %s %s %s\n", quadrilateral);
}
}
четырехугольника класс
import java.awt.Point;
public class Quadrilateral
{
//points contain x and y coordinates
private Point point1;
private Point point2;
private Point point3;
private Point point4;
public Quadrilateral(Point... points)
{
point1 = new Point(1, 2);
point2 = new Point(3, 4);
point3 = new Point(5, 6);
point4 = new Point(7, 8);
}
//setters and getters
public Point getPoint1()
{
return point1;
}
public Point getPoint2()
{
return point2;
}
public Point getPoint3()
{
return point3;
}
public Point getPoint4()
{
return point4;
}
public String toString()
{
return ("\nThe Points of the Quadrilateral are:\n " +
getPoint1() +"," + getPoint2() +"," + getPoint3() + "," + getPoint4())+"\n";
}
}
Нет, это не так, как Java varargs работает вообще. –
Подсказка: вы не передаете координаты в заявлении 'new Quadrilateral (1, 1, 6, 2, 6, 9, 2, 7);'. Скорее, вы передаете 8 целых чисел. – apnorton