tout marche sauf le dernier

This commit is contained in:
2024-11-13 17:25:35 +01:00
parent 16078ad1c7
commit c6e55bed52
40 changed files with 789 additions and 0 deletions

View 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;
}
}