Demande d'aide
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Demande d'aide



  1. #1
    invite93e2017e

    Demande d'aide


    ------

    Bonjour/Bonsoir,

    Pouvez vous m'aider à programmer un programme de tennis. Le but est de demander quel joueur à gagner et puis d'ajouter le score.

    Donc j'ai décider de mettre les points dans une variable à l'aide de switch. ( je peux pas modifier: private static String getScore(int points).

    Code:
    private static String getScore(int points) {
            String score = "";
            switch (points) {
                case 0 :
                    score = "0";
                    break;
                case 1 :
                    score = "15";
                    break;
                case 2 :
                    score = "30";
                    break;
                case 3 :
                    score = "40";
                    break;
                case 4 :
                    score = "A";
                    break;
            }
            return score;
        }
    
    Problème dans ma fonction main.
    // Variable pour l'acquisition
    		String nom1, nom2;
    		int a;
    		// Variable pour les résultats
    		
    		
    		// Variable de travail
    		String score;
    		int j1, j2;
    		int points;
    		points = getScore(points);
    		
    		// Appel de fonction
    		score = getScore(points);
    		
    		
    		// Question
    		System.out.print ("Joueur 1 ? ");
    		nom1 = Console.lireString();
    		System.out.print ("Joueur 2 ? ");
    		nom2 = Console.lireString();
    		
    		// Traitement des données
    		
    		score = getScore(points);
    		j1 = points + 1;                  --------> le problème est ici au lieu de m'afficher 15 il m'affiche 1. Que faire ?
    		score = points;
    		j2 = points;
    		System.out.print (score);

    -----
    Dernière modification par JPL ; 11/11/2016 à 19h30. Motif: Ajout de la balise Code (#) pour garder l'indentation

  2. #2
    JPL
    Responsable des forums

    Re : Demande d'aide

    Rappel de la charte du forum :

    Les titres des messages doivent être explicites.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  3. #3
    Ikhar84
    Animateur Informatique

    Re : Demande d'aide

    Bonsoir,

    Outre le rappel de la modération (JPL) plus haut, je ne comprends pas trop la partie:

    Code:
        points = getScore(points);
    ...
    // Appel de fonction
        score = getScore(points);
    ...
        score = getScore(points);
        j1 = points + 1;
        score = points;
        j2 = points;
        System.out.print (score);
    Tout d'abord
    score est un string
    points est un int...
    Code:
    score = point;
    Va poser problème...

    On a trois appels à getScore:

    Code:
        int points;
        points = getScore(points);
        ...
        score = getScore(points);
        ...
        score = getScore(points);
    Pourquoi ?
    Accessoirement le premier appel envoi en paramètre la variable points sans l'avoir initialisé... cela devrait provoquer au moins un "Warning", sinon une exception à l'éxecution ou même un refus de compilation.

    Les autres appels stockant le résultat dans points tentent de stocker un string dans un int...

    Et surtout il faudrait se decider si score stocke le retour de getScore(points) ou points...

    Code:
        score = getScore(points);
        score = points;
    ...
        System.out.print (score);
    Il manque une partie du code très certainement:
    La partie qui aurait dû initialiser points et permettre la saisie manuelle des points (de chaque joueur ou du joueur selectionné ? Ou même arbitrairement de joueur1 avec points +1 et se joueur2 avec points... dans le code)

    Les variables j1 et j2 (int) stockent les points des joueurs ? Pourquoi j1= points +1 et j2=points ?
    Là les variables ne semblent pas très utiles, pour le moins...

    Avant tout il faudrait bien differencier le rôle des variables score et points, j1 et j2, quitte à leur donner un nom plus explicite, et surtout bien faire attention aux différent types primitifs/classe des variables/objets...

    Il faudait aussi prendre l'habitude d'initialiser ses variables.

    D'une manière plus large, je ne comprends pas trop la logique de l'algo... que cherchez vous à faire exactement ?

    Saisir le nom des deux joueurs une fois pour toute pour tout le temps d'éxecution du programme, puis à chaque point gagné incrementé le compteur de points du joueur qui a gagné le point, convertir les points en score et afficher le score (des deux joueurs, de type "15-A") ?

    Si c'est le cas il faut revoir toute les lignes du programme quasiment (sans toucher à string getScore(int); puisque c'est explicitement demandé...).

    Désolé encore une fois j'écris depuis l'appli android : pas de correcteur, petit écran (difficile de se relire), pas de prévisualisation, etc...

Discussions similaires

  1. JE demande de l'aide
    Par invite931a7275 dans le forum Orientation avant le BAC
    Réponses: 4
    Dernier message: 05/10/2011, 20h32
  2. demande aide !
    Par invitef127ab2c dans le forum Électronique
    Réponses: 3
    Dernier message: 17/07/2007, 13h30
  3. demande d'aide
    Par invite0d977aea dans le forum Biologie
    Réponses: 2
    Dernier message: 22/10/2005, 17h40
  4. demande d aide
    Par invitef4db8537 dans le forum Orientation après le BAC
    Réponses: 1
    Dernier message: 21/08/2004, 00h57