15 Decembre
This commit is contained in:
BIN
DEV3.4/TP4/stub/1Iterable/Base.class
Normal file
BIN
DEV3.4/TP4/stub/1Iterable/Base.class
Normal file
Binary file not shown.
4
DEV3.4/TP4/stub/1Iterable/Base.java
Normal file
4
DEV3.4/TP4/stub/1Iterable/Base.java
Normal file
@@ -0,0 +1,4 @@
|
||||
// juste un type énuméré pour nommer les bases
|
||||
public enum Base {
|
||||
A,C,G,T
|
||||
}
|
BIN
DEV3.4/TP4/stub/1Iterable/Exemple.class
Normal file
BIN
DEV3.4/TP4/stub/1Iterable/Exemple.class
Normal file
Binary file not shown.
34
DEV3.4/TP4/stub/1Iterable/Exemple.java
Normal file
34
DEV3.4/TP4/stub/1Iterable/Exemple.java
Normal file
@@ -0,0 +1,34 @@
|
||||
// Fichier Exemple pour le second exercice sur l'ADN
|
||||
|
||||
public class Exemple{
|
||||
public static void main(String[] args) {
|
||||
// codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table
|
||||
// stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon
|
||||
|
||||
System.out.println("construction du brin GCTTAG");
|
||||
MonMaillon l = new MonMaillon(Base.G);
|
||||
l = new MonMaillon(Base.A,l);
|
||||
l = new MonMaillon(Base.T,l);
|
||||
l = new MonMaillon(Base.T,l);
|
||||
l = new MonMaillon(Base.C,l);
|
||||
l = new MonMaillon(Base.G,l);
|
||||
|
||||
MonBrin b = new MonBrin(l);
|
||||
|
||||
System.out.println("l'affichage par défaut du brin ne va pas vous plaire");
|
||||
System.out.println(b.toString());
|
||||
|
||||
System.out.println("On peut maintenant afficher en itérant avec un while comme ceci");
|
||||
|
||||
while (b.hasNext()){
|
||||
System.out.println(b.next());
|
||||
}
|
||||
|
||||
// ajouter du code ici pour gérer les questions en plus
|
||||
// (simulation de plusieurs navigations successives)
|
||||
|
||||
|
||||
// (simulation de plusieurs navigations simultanées)
|
||||
}
|
||||
|
||||
}
|
BIN
DEV3.4/TP4/stub/1Iterable/MonBrin.class
Normal file
BIN
DEV3.4/TP4/stub/1Iterable/MonBrin.class
Normal file
Binary file not shown.
59
DEV3.4/TP4/stub/1Iterable/MonBrin.java
Normal file
59
DEV3.4/TP4/stub/1Iterable/MonBrin.java
Normal file
@@ -0,0 +1,59 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.NoSuchElementException;
|
||||
/**
|
||||
MonBrin code un brin d'ADN sous forme de liste simplement chaînée.
|
||||
|
||||
Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base.
|
||||
|
||||
On n'utilise pas java.util et on recode tout.
|
||||
|
||||
Cette version a un problème : la navigation n'est pas raisonnable
|
||||
*/
|
||||
public class MonBrin implements Iterator<Base>{
|
||||
|
||||
public MonMaillon debut;
|
||||
public MonMaillon index;
|
||||
//Le constructeur fabrique un brin à partir du premier maillon p;
|
||||
public MonBrin(MonMaillon p){
|
||||
this.debut = p;
|
||||
this.index = p;
|
||||
}
|
||||
|
||||
public MonMaillon getDebut(){
|
||||
return this.debut;
|
||||
}
|
||||
|
||||
public MonMaillon getIndex(){
|
||||
return this.index;
|
||||
}
|
||||
|
||||
// rappel : on met @Override pour dire au compilateur qu'on veut surcharger (en particulier c'est le cas quand on implémente une interface)
|
||||
// ce n'est pas nécessaire dans ce cas mais ça permet d'avoir des messages d'alerte si on se trompe (typo dans le nom de la méthode ...)
|
||||
// voir https://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why
|
||||
@Override
|
||||
public boolean hasNext(){
|
||||
if (this.index.suivant==null){
|
||||
return false;
|
||||
}
|
||||
else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Base next() {
|
||||
if (this.hasNext()){
|
||||
this.index = this.index.suivant;
|
||||
return this.index.b;
|
||||
}
|
||||
else{
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
BIN
DEV3.4/TP4/stub/1Iterable/MonMaillon.class
Normal file
BIN
DEV3.4/TP4/stub/1Iterable/MonMaillon.class
Normal file
Binary file not shown.
33
DEV3.4/TP4/stub/1Iterable/MonMaillon.java
Normal file
33
DEV3.4/TP4/stub/1Iterable/MonMaillon.java
Normal file
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
MonMaillon code un maillon d'un brin d'ADN.
|
||||
plusieurs instances reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base.
|
||||
On n'utilise pas java.util et on recode tout.
|
||||
|
||||
*/
|
||||
public class MonMaillon {
|
||||
|
||||
public Base b;
|
||||
public MonMaillon suivant;
|
||||
//Le constructeur de base retourne un brin à une base;
|
||||
public MonMaillon(Base b){
|
||||
this.b = b;
|
||||
this.suivant = null;
|
||||
}
|
||||
|
||||
// Le constructeur évolué ajoute une base à un brin.
|
||||
public MonMaillon(Base b, MonMaillon l){
|
||||
this.b = b;
|
||||
this.suivant = l;
|
||||
}
|
||||
|
||||
public Base getBase(){
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public MonMaillon getSuiteMaillon(){
|
||||
return this.suivant;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user