Bonjour tout le monde

Je suis étudiant en informatique et j'ai recu la tâche suivante:

la tour de hanoi peut être programmé récursive avec les méthodes suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
void hanoi(int discs, String start, String aim, String temp)
{
hanoi(discs- 1, start, aim, temp);
move(discs, start, aim);
hanoi(discs- 1, temp, aim, start);
} 
 
void move(int disc, String start, String aim)
{
System.out.println("Disc" + disc+ " from " + start + " to " + aim);
}
Avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
hanoi(3, "A", "B", "C")
le programme donne tous les tours d'un coup. Modifiez l'algorithme ainsi qu'il y a une méthode "nextMove", qui permet d'imprimer un tour après l'autre en utilisant le modèle consommateur/producteur.

Est-ce que quelqu'un peut me donner une astuce comment réaliser ce devoir?

Est-ce que c'est possible de continuer d'utilser les méthodes recursives? Quelle partie est le consommateur et la-quelle le producteur?

Je suis désesperé car je suis devant ce devoir depuis 8 heures. J'ai essayer de réaliser ca avec un "stack", qui a les methodes "pop" et "push" pour les tours, mais ca marche pas. Alors si quelqu'un peu me donner juste une idée comment le faire, ca m'aiderai déjà.

Merci d'avance.