Philippe Truillet / David Fauthoux
http://www.irit.fr
Solutions TP Java n°1
1 Fichier Liste.java
package MyClasse;
public class Liste {
private class Cellule {
Object valeur;
Cellule suivante;
}
private Cellule tete,queue;
void Liste() {
tete=null;
queue=null;
}
public Object tete() {
if (tete==null) return null;
else return tete.valeur;
}
public Object queue() {
if (queue==null) return null;
else return queue.valeur;
}
public int taille() {
int res=0;
Cellule cel=tete;
while (cel!=null) {
cel=cel.suivante;
res++;
}
return res;
}
public Object ieme(int i) {
Cellule cel=tete;
while (--i!=0) cel=cel.suivante;
return cel.valeur;
}
public void ajouteTete(Object o) {
Cellule cel=new Cellule();
cel.valeur=o;
cel.suivante=tete;
if (tete==null) queue=cel;
tete=cel;
}
public void ajouteQueue(Object o) {
Cellule cel=new Cellule();
cel.valeur=o;
cel.suivante=null;
if (queue!=null) queue.suivante=cel;
else tete=cel;
queue=cel;
}
public void concatene(Liste l) {
Cellule cel=l.tete;
while (cel!=null) {
ajouteQueue(cel.valeur);
cel=cel.suivante;
}
}
}
2 Fichier TestListe.java
import MyClasse.*;
public class TestListe {
Philippe Truillet / David Fauthoux
http://www.irit.fr
static public void main(String[] args) {
Liste l1,l2;
l1=new Liste();
l2=new Liste();
l1.ajouteTete("1");
l1.ajouteQueue("2");
l1.ajouteQueue("3");
l1.ajouteTete("0");
for (int i=1;i<=l1.taille();i++) System.out.println(l1.ieme(i));
l2.ajouteQueue("4");
l2.ajouteQueue("5");
l1.concatene(l2);
for (int i=1;i<=l1.taille();i++) System.out.println(l1.ieme(i));
}
}
3 Fichier ObjetAffichable.java
package MyClasse;
abstract public class ObjetAffichable {
public ObjetAffichable() {
super();
}
abstract public void affiche();
}
4 Fichier ListeAffichable.java
package MyClasse;
import MyClasse.*;
public class ListeAffichable extends Liste {
public ListeAffichable() {
super();
}
public void affiche() {
for (int i=1;i<=taille();i++) {
((ObjetAffichable)ieme(i)).affiche();
System.out.println("");
}
}
}
5 Fichier Personne.java
import MyClasse.*;
public class Personne extends ObjetAffichable {
private String nom;
public Personne(String s) {
nom=s;
}
public void affiche() {
System.out.println(nom);
}
static public void main(String[] args) {
ListeAffichable liste=new ListeAffichable();
liste.ajouteTete(new Personne("Dupont"));
liste.ajouteTete(new Personne("Durand"));
liste.ajouteTete(new Personne("Martin"));
liste.affiche();
}
}
Philippe Truillet / David Fauthoux
http://www.irit.fr
6 Compilation(s)
C:\java> c:\jdk1.3.1/bin/javac d c:\java\classes Liste.java
C:\java> c:\jdk1.3.1/bin/javac classpath ./classes TestListe.java
C:\java> c:\jdk1.3.1/bin/javac d ./classes classpath ./classes ObjetAffichable.java
C:\java> c:\jdk1.3.1/bin/javac d ./classes classpath ./classes ListeAffichable.java
C:\java> c:\jdk1.3.1/bin/javac classpath ./classes Personne.java
7 Exécution
C:\java> c:\jdk1.3.1/bin/java cp .;./classes TestListe
0
1
2
3
0
1
2
3
4
5
C:\java> c:\jdk1.3.1/bin/java cp .;./classes Personne
Martin
Durand
Dupond
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !