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

Résolu/Fermé
katsuo49 Messages postés 330 Date d'inscription vendredi 19 juin 2009 Statut Membre Dernière intervention 11 novembre 2014 - 1 mai 2012 à 16:02
katsuo49 Messages postés 330 Date d'inscription vendredi 19 juin 2009 Statut Membre Dernière intervention 11 novembre 2014 - 1 mai 2012 à 16:50
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 vendredi 19 juin 2009 Statut Membre Dernière intervention 11 novembre 2014 25
1 mai 2012 à 16:50
finalement une erreur de condition sur ma variable saisie que je m'obstinai à ne pas voir.
0