Java: Comment transmettre des valeurs de point à une polyligne?


J'ai Donc ce Polyline classe qui utilise une autre classe (Point) pour créer une polyligne.

La classe Point juste définit un point avec une valeur x et y et un nom (Point A, Point B, etc)

public class Polyline 

{
private Point []    corner;

public Polyline ()
{
    this.corner = new Point[0];

}

public Polyline (Point [] corner)
{
    this.corner = new Point [cornerlength];
    for (int i = 0; i < corner.length; i++)
        this.corner[i] = new Point (corner[i]);

}

Maintenant, ma question est, comment puis-je donner à ces coins leurs valeurs? J'ai fait un programme appelé PolylineTest et je voudrais donner quelques valeurs et de l'imprimer, mais je n'ai pas réussi à comprendre comment le faire.

J'ai pensé que ce serait quelque chose comme ça:

Polyline [] p1 = new Polyline[0];

Mais Je ne peux pas comprendre comment lui donner une valeur.

Quelqu'un Pourrait-il me donner un coup de pouce dans la bonne direction?

Merci d'avance

(le code actuellement ne compile pas)

Author: Jens Piegsa, 2013-12-22

1 answers

Asuming votre classe Point ressemble à:

public class Point {

    public String name;
    public int x;
    public int y;

    public Point(String name, int x, int y) {
        this.name = name;
        this.x = x;
        this.y = y;
    }

    public Point(Point p) {
        this.name = p.name;
        this.x = p.x;
        this.y = p.y;
    }

    public String toString() {
        return name + "[" + x + ", " + y + "]";
    }
}

Et vous ajoutez cette méthode à votre Polyline classe:

public String toString() {
    return "Polyline " + Arrays.toString(corner);
}

L'utilisation ressemble à:

public class PolylineTest {

    public static void main(String[] args) {
        Point[] points = new Point[] {
                new Point("A", 4, 2),
                new Point("B", 8, 5),
                new Point("C", 1, 7)
        };
        Polyline polyline = new Polyline(points);
        System.out.println(polyline);
    }
}
 1
Author: Jens Piegsa, 2013-12-22 00:14:33