Problème d'appelle de méthode en java

Résolu
katsuo49 Messages postés 330 Date d'inscription   Statut Membre Dernière intervention   -  
katsuo49 Messages postés 330 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je m'explique j'ai une méthode affiche() qui appelle différente méthode, dont la méthode getScore(), étant donné que mon programme doit gérer 2 types de score j'ai fait un menu dans getScore() qui fait appelle à 2 autres méthode à nouveau getScoreMode1() et getScoreMode2(). Mon problème étant qu'au lieu de réaliser l'appelle de getScoreMode1() ou getScoreMode2() il revient à ma méthode affiche() sans s'occuper de mes appels.

Note : toutes les méthodes sont situés dans la même classe Menu. Je n'ai mis que les portions de code dont je parle plus haut mais toutes les méthodes qui sont appelées existe et sont fonctionnelles.

/** Méthode permettant de gérer les différentes entrées du Menu.
	*/
	public int choisir() {
		Scanner clavier = new Scanner(System.in);
		int choix = -1;
		int retour = -1;
		while ( (retour < 0 || retour > 2) && (choix < 0 || choix > 7) )
		{
			System.out.print("          Saisissez votre choix : ");
			choix = clavier.nextInt();
			switch(choix)
			{
				// Quitter
				case 0 : retour = 0;
						 break;
				// Mode 1
				case 1 : retour = 1;
						 break;
				// Mode 2
				case 2 : retour = 2;
						 break;
				// Sélection de la langue
				case 3 : setLangue();
						 //retour = -1;
						 break;
				// Sélection du nombre de joueur
				case 4 : setNbJoueur();
						 //retour = -1;
						 break;
				// Sélection de la difficulté
				case 5 : setDifficulte();
						 //retour = -1;
						 break;
				// Meilleurs Scores
				case 6 : getScore();
						 //retour = -1;
						 break;
				// Aide
				case 7 : getAide();
						 //retour = -1;
						 break;
				// Saisie Incorrecte
				default: System.out.println("|                       Erreur de Saisie !                      |");
						 retour = -1;
			}
			clavier.nextLine();
			choix = -1;
			Perso.pause();
			affiche();
		}
		return retour;
	}

/** Méthode permettant de gérer l'affichage des Meilleurs Scores.
	*/
	private void getScore() {
		Scanner clavier = new Scanner(System.in);
		int saisie = -1;
		while (saisie < 0 || saisie > 2)
		{
			switch (saisie)
			{
				case 0: return;
						//break;
				case 1: getScoreMode1();
						saisie = -1;
						break;
				case 2: getScoreMode2();
						saisie = -1;
						break;
				default: System.out.println("                      Indiquez votre choix :                     "+"\n"+
											"       1 = Mode 1  ,  2 = Mode 2  et  0 = Retourner au Menu      ");
						 saisie = clavier.nextInt();
			}
		}
	}
	
	/** Méthode permettant de gérer l'affichage des meilleurs scores du mode 1
	*/
	private void getScoreMode1() {
		System.out.println("High Score Mode 1.");
	}
	
	/** Méthode permettant de gérer l'affichage des meilleurs scores du mode 2
	*/
	public void getScoreMode2() {
		System.out.println("High Score Mode 2.");
	}


Merci d'avance pour vos réponses.
A voir également:

1 réponse

katsuo49 Messages postés 330 Date d'inscription   Statut Membre Dernière intervention   25
 
finalement une erreur de condition sur ma variable saisie que je m'obstinai à ne pas voir.
0