tout marche sauf le dernier
This commit is contained in:
59
TP4/stub/2Iterator/MonBrinIterator.java
Normal file
59
TP4/stub/2Iterator/MonBrinIterator.java
Normal file
@@ -0,0 +1,59 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
/**
|
||||
MonBrinIterator
|
||||
|
||||
gère la navigation dans un Brin d'ADN
|
||||
|
||||
*/
|
||||
/*
|
||||
public class MonBrinIterator implements Iterator<Base> {
|
||||
|
||||
public MonBrinIterator(MonMaillon m){
|
||||
throw new UnsupportedOperationException("cette méthode n'est pas implémentée");
|
||||
}
|
||||
|
||||
/** Pour naviguer?
|
||||
On implémente l'interface iterable de java.util ici
|
||||
L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navogation fonctionne.
|
||||
**//*
|
||||
@Override
|
||||
public boolean hasNext(){
|
||||
throw new UnsupportedOperationException("cette méthode n'est pas implémentée");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Base next() {
|
||||
throw new UnsupportedOperationException("cette méthode n'est pas implémentée");
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
public class MonBrinIterator implements Iterator<Base> {
|
||||
private MonMaillon courant;
|
||||
|
||||
// Initialise l'itérateur avec le premier maillon du brin
|
||||
public MonBrinIterator(MonMaillon m) {
|
||||
this.courant = m;
|
||||
}
|
||||
|
||||
// Vérifie s'il y a un élément suivant dans le brin
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return courant != null;
|
||||
}
|
||||
|
||||
// Retourne la base actuelle et passe au maillon suivant
|
||||
@Override
|
||||
public Base next() {
|
||||
if (!hasNext()) throw new NoSuchElementException("No more elements in the iterator.");
|
||||
Base baseActuelle = courant.getBase();
|
||||
courant = courant.getSuiteMaillon(); // Passe au maillon suivant
|
||||
return baseActuelle;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user