|
|
|
|
Bonjour, je cherche à créer un genre de dictionnaire.
Je voudrais associer le type du mot, avec le mot par exemple, pour le mot "faire" associer "v" pour verbe.
Bon je commence juste, et voila ce que j'ai fait :
import java.util.*;
public class Dictionnaire {
char type;
String mot;
/* constructeur */
public Dictionnaire (char type, String mot) {
ArrayList<char,String> dico;
Dictionnaire(){dico = new ArrayList<char,String>();}
}
Configuration: Windows XP Firefox 3.0.10
String tab[]= new String[2];
ArrayList dico = new ArrayList();
dico.add(tab["verbe","faire"]);
Ok , merci, donc voila ce que j'ai fait :
public class Mot {
String type;
String mot;
/* constructeur*/
public Mot (){
type="verbe";
mot="faire";
}
public Mot(String pType, String pMot){
type=pType;
mot=pMot;
}
}
Pour la classe main : import java.util.ArrayList;
import java.util.Scanner;
public class Utilisatrice {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Mot def = new Mot();
Dictionnaire dico = new Dictionnaire();
System.out.print("Mot: ");
Scanner scanMot = new Scanner(System.in);
String mot = scanMot.nextLine();
System.out.println("Type: ");
Scanner scanType = new Scanner(System.in);
String type = scanType.nextLine();
}
}
et la classe de Dictionnaire : import java.util.ArrayList;
import java.util.Scanner;
public class Utilisatrice {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Mot def = new Mot();
Dictionnaire dico = new Dictionnaire();
System.out.print("Mot: ");
Scanner scanMot = new Scanner(System.in);
String mot = scanMot.nextLine();
System.out.println("Type: ");
Scanner scanType = new Scanner(System.in);
String type = scanType.nextLine();
}
}
Mais je sais pas comment rentrer mot/type dans l'arraylist dico .... |
Heuuu... Il faudrait décrire un peu plus ce que tu veux faire car le simple fait d'associer un mot à son type peut se faire de manière très simple en utilisant des classes existantes. Pas besoin de réinventer la roue... Exemple import java.util.HashMap;
import java.util.Map;
public class Timon44 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("ceci", "pron dem");
map.put("est", "v");
map.put("un", "art");
map.put("exemple", "nom");
for (String key : map.keySet()) {
System.out.println(key + "==>" + map.get(key));
}
}
}
A l'exécution, on a ceci: exemple==>nom est==>v un==>art ceci==>pron dem Précise, donc, ce que tu veux vraiment faire... ++ |
Alors en fait, je veux faire plusieurs méthodes :
|
Alors en fait, je veux faire plusieurs méthodes :
|
Oki, voici un exemple où l'on travaille avec un ArrayList pour stocker les paires: import java.util.ArrayList;
public class Timon44 {
private static class Mot {
private String mot;
private String type;
public Mot(String mot, String type) {
this.mot = mot;
this.type = type;
}
public String getMot() {
return mot;
}
public void setMot(String mot) {
this.mot = mot;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
private static class Dico extends ArrayList<Mot> {
public String getType(String key) {
for (Mot mot : this) {
if (mot.getMot().equals(key)) {
return mot.getType();
}
}
return null;
}
}
public static void main(String[] args) {
Dico dico = new Dico();
// Comme notre classe Dico hérite d'ArrayList, utiliser une fonction de rajout déjà définie
dico.add(new Mot("ceci", "pron. dém"));
dico.add(new Mot("est", "vb."));
dico.add(new Mot("un", "art."));
dico.add(new Mot("exemple", "nom"));
// Est-ce qu'un mot se trouve dans le dico ?
System.out.println("Le mot 'wizz' dans le dico ? " + (dico.getType("wizz") != null));
// Lister tous les mots du dico
for (Mot mot : dico) {
System.out.println(mot.getMot() + "==>" + mot.getType());
}
}
}
++ |