eGm_
Gibon Blasé
Voila j'ai un petite problème avec ma méthode .sort() a l'affichage elle m'affiche toujours la même ligne.
C'est coder a l'arrache mais bon.
a l'affichage ca m'affice toujours rabbit : lapin
Merci d'avance si quelqu'un trouve
Code:
import java.util.*;
import clavier.*;
public class Application{
public static void main(String [] args){
Dictionnaire dico = new Dictionnaire();
dico.ajout("sun","soleil");
dico.ajout("chiken","poulet");
dico.ajout("mouse","souris");
dico.ajout("rabbit","lapin");
//tri sur l'anglais + affichage.
dico.triAnglais();
//tri sur le francais + affichage
dico.triFrancais();
//nasdro mother's a Wookie
}
}
Code:
import java.util.*;
class Dictionnaire extends Mot{
ArrayList tab;
Mot mot = new Mot();
public Dictionnaire(){
tab = new ArrayList();
System.out.println("Création d'un objet Dictionnaire");
System.out.println("");
}
public void ajout(String anglais, String francais){
mot.setAnglais(anglais);
mot.setFrancais(francais);
tab.add(mot);
}
void triAnglais(){
Collections.sort(tab); // utilise la méthode CompareTo
affiche();
}
void triFrancais(){
Collections.sort(tab); // utilise la méthode CompareTo
affiche();
}
void rechercheFrancais(){
}
void rechercheAnglais(){
}
void affiche(){
int i;
String temp;
for(i=0; i<tab.size();i++)
{
temp = toString(tab.get(i));
System.out.println(temp);
}
}
Code:
import java.util.*;
class Mot implements Comparable{
private String anglais;
private String francais;
public Mot(){
}
public Mot(String anglais, String francais){
this.anglais = anglais;
this.francais = francais;
}
/*
public int compareTo(Object o) throws ClassCastException
{
if(!(o instanceof Mot)) // test si O est bien objet de type mot
throw new ClassCastException("Objet n'est pas de type Mot");
Mot mot = (Mot) o; //casting de l'objet recus (o)
if(mot.getAnglais().compareTo(anglais) == 0)
return mot.getFrancais().compareTo(francais);
return mot.getAnglais().compareTo(anglais);
} */
public int compareTo(Object o) throws ClassCastException
{
if(!(o instanceof Mot)) // test si O est bien objet de type mot
throw new ClassCastException("Objet n'est pas de type Mot");
String anglais1 = ((Mot) o).getAnglais();
String anglais2 = this.getAnglais();
if (anglais1.compareTo(anglais2) == -1) return -1;
else if(anglais1.compareTo(anglais2) == 0 ) return 0;
else return 1;
}
public String getAnglais()
{
return anglais;
}
public String getFrancais()
{
return francais;
}
public void setAnglais(String anglais)
{
this.anglais=anglais;
}
public void setFrancais(String francais)
{
this.francais=francais;
}
public String toString(Object o){
return o.toString();
}
public String toString() {
return anglais + ": " + francais;
}
}
C'est coder a l'arrache mais bon.
a l'affichage ca m'affice toujours rabbit : lapin
Merci d'avance si quelqu'un trouve