Bonjour,
Je suis étudiant et débutant en Java, je voudrais écrire un code qui me permettrait de construire un annuaire et d'interagir avec lui, en utilisant les collections. J'ai beaucoup de mal avec l'utilisation des collections, qui est une chose nouvelle pour moi.

L'énoncé est le suivant :

On vous demande d’écrire une classe Annuaire pour mémoriser des numéros de téléphone et d’adresses.
Chaque entrée est représentée par une fiche à plusieurs champs : un nom, un numéro et une adresse. La structure des fiches est décrite par une classe Fiche que vous devez écrire.

Écrivez également une classe Annuaire comportant une table associative (Map<String,Fiche>) qui sera faite d’associations ( un_nom , une_fiche ).

A. Dans un premier temps, la table associative en question sera une instance de la classe HashMap.
Écrivez un programme répétant les opérations suivantes
• lecture d’une « commande » d’une des formes : +nom, ?nom, ! ou bye,
• si la commande a la forme ?nom, recherche et affiche la fiche concernant le nom indiqué,
• si la commande est de la forme +nom, saisie des autres informations d’une fiche associée à ce nom et insertion de la fiche correspondante dans l’annuaire, • si la commande est !, affichage de toutes les fiches de l’annuaire,
• si la commande est bye, arrêt du programme.


Dans mon programme, j'ai crée 3 classes, collection, Annuaire, et Fiches.

J'ai écrit un code, mais il y a 2 problèmes :
je n'arrive pas à retourner un seul couple de valeurs clé d'une HashMap. De plus, mon programme ne prend pas en compte la classe Annuaire, que j'ai laissée vide.

Voici mon code ci-dessous. Auriez-vous des suggestions pour m'orienter afin de mieux développer mon code?
Classe collection :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package apprentissage;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
 
public class collection {
	static HashMap<String, Fiches> tableAssociative = new HashMap<>();
 
	public static void main(String[] args) {
             tableAssociative();
	}public static void tableAssociative() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("Quelle est votre commande?");
		String commande = scanner.nextLine();
		while(commande.equals("bye")==false && commande.equals("!")==false 
				&& commande.charAt(0)!='+' && commande.charAt(0)!='?') {
			System.out.println("Veuillez affecter une autre commande");
			commande=scanner.nextLine();
		}
		if(commande.equals("!")) {
			System.out.println(tableAssociative.toString());
 
		}
		if(commande.charAt(0)=='+') {
			System.out.println("Quel est le nom de la personne que vous souhaitez ajouter?");
			String nom = scanner.nextLine();
			System.out.println("Quel est le numéro de téléphone d"
					+ "e la personne que vous souhaitez ajouter?");
			String numero = scanner.nextLine();
			System.out.println("Quelle est l'adresse de la personne que vous souhaitez ajouter?");
			String adresse = scanner.nextLine();
			Fiches fiche = new Fiches(nom, numero, adresse);
			tableAssociative.put(nom, fiche);
			System.out.println(tableAssociative.toString());
		}
		if(commande.charAt(0)=='?') {
			String nom = commande.substring(1);
			if(tableAssociative.containsKey(nom)) {
				System.out.println(tableAssociative.getKey()+" associé à "+tableAssociative.getValue());
			}
 
		}
		if(commande.equals("bye")) {
			System.out.println("Fin des consultations et modifications sur l'annuaire");
		}
 
	}
 
 
}
et voici le code présent dans la classe Fiches :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package apprentissage;
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.TreeMap;
import java.util.TreeSet;
 
public class Fiches {
	protected static String nom;
	protected static String numero;
	protected static String adresse;
 
	public Fiches() {
		nom="Inconnu";
		numero="Inconnu";
		adresse="Inconnue";
	}
		public Fiches(String fnom, String fnum, String fadresse) {
			String nom = fnom;
			String numero = fnum;
			String adresse = fadresse;
		}
		public String getNom() {
			return nom;
		}
		public String getNumero() {
			return numero;
		}
		public String getAdresse() {
			return adresse;
		}
}
En vous remerciant d'avance pour votre réponse.