From bd8c7028db7df0446db302e682158ef878f8b29d Mon Sep 17 00:00:00 2001 From: s23026062 <melis-damla.sahin@etu.univ-amu.fr> Date: Fri, 8 Nov 2024 15:15:12 +0100 Subject: [PATCH] =?UTF-8?q?Compl=C3=A9ter=20la=20classe=20CoordinateIterat?= =?UTF-8?q?or?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/matrix/CoordinateIterator.java | 24 +++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/matrix/CoordinateIterator.java b/src/main/java/matrix/CoordinateIterator.java index 810b712..c74cff9 100644 --- a/src/main/java/matrix/CoordinateIterator.java +++ b/src/main/java/matrix/CoordinateIterator.java @@ -8,7 +8,9 @@ import java.util.NoSuchElementException; * height range. */ class CoordinateIterator implements Iterator<Coordinate> { - + private final int width ; + private final int height ; + private Coordinate current = new Coordinate(0,0) ; /** * Creates a new {@link CoordinateIterator} with the specified width and height. * @@ -16,7 +18,8 @@ class CoordinateIterator implements Iterator<Coordinate> { * @param height The height of the coordinate range. */ public CoordinateIterator(int width, int height) { - // TODO: à compléter + this.width = width ; + this.height = height ; } /** @@ -26,8 +29,7 @@ class CoordinateIterator implements Iterator<Coordinate> { */ @Override public boolean hasNext() { - // TODO: à compléter - return false; + return current.y()<height; } /** @@ -38,7 +40,17 @@ class CoordinateIterator implements Iterator<Coordinate> { */ @Override public Coordinate next() { - // TODO: à compléter - return null; + if (!hasNext()) throw new NoSuchElementException(); + + Coordinate next = current; + // on crée un méthode update + update(); + return next; + } + + private void update(){ + current = current.right(); + if (current.x() == width) + current = new Coordinate(0, current.y()+1); } } -- GitLab