Partage
  • Partager sur Facebook
  • Partager sur Twitter

|| qui ne marche pas

Sujet résolu
    2 avril 2015 à 4:27:38

    Bonjours je me pratique avec un jeu questionaire et voici mon code main

    import java.util.Scanner;
    
    
    public class DYK1 
    {
    
    	public static void main(String[] args) 
    	{
    		Sport Q = new Sport("Qui est l'actuel president des Etats-Unis","A: Barack Obama","B: Stephen Harper","C: Booba(lol)","D: Bush" , "A" , "a" ); //il a juste le 'a' qui fonctionne
    		Q.qW();
    		
    		Sport Q1 = new Sport("Qui a gagne le plus de coupe stanley","A: Rangers de newyork","B: canadien de montreal","C: avalanche colorado","D: coyote phenix" , "B" , "b"); //juste le 'b' qui fonctionne
    		Q1.qW();
    		
    	}
    
    }
    



    Maintenant voici la classe sport:

    import java.util.Scanner;
    
    
    public class Sport
    {
    	
    	Scanner sc = new Scanner(System.in);
    	
    	public String question = " ";
    	public String rA = " ";
    	public String rB = " ";
    	public String rC = " ";
    	public String rD = " ";
    	public String reponse = " ";
    	public String bR = " ";
    	public String bRm = " ";
    	
    	public Sport(String pQuestion , String prA , String prB , String prC , String prD , String pbR , String pbRm)
    	{
    		question = pQuestion;
    		rA = prA;
    		rB = prB;
    		rC = prC;
    		rD = prD;
    		bR = pbR;
    		bR = pbRm;
    	}
    	
    	public String getQuestion()
    	{
    		return question;
    	}
    	
    	public String getrA()
    	{
    		return rA;
    	}
    	
    	public String getrB()
    	{
    		return rB;
    	}
    	
    	public String getrC()
    	{
    		return rC;
    	}
    	
    	public String getrD()
    	{
    		return rD;
    	}
    	
    	public void setQuestion(String pQuestion)
    	{
    		this.question = question;
    	}
    	
    	public void qW()
    	{
    
    	    Sport Q = new Sport(question , rA , rB , rC , rD , bR , bRm);
    	    System.out.println(Q.getQuestion());
    	    System.out.println();
    	    System.out.println(Q.getrA());
    	    System.out.println(Q.getrB());
    	    System.out.println(Q.getrC());
    	    System.out.println(Q.getrD());
    	    System.out.println();
    	    System.out.print("Veuillez choisir entre A,B,C ou D: ");
    	    reponse = sc.nextLine();
    	    
    	    if(reponse.equals(bR) || reponse.equals(bRm))
    	    {
    	    	System.out.println("bonne reponse");
    	    }
    	    
    	    else
    	    {
    	    	System.out.println("Mauvaise reponse");
    	    }
    
    	}
    
    }
    


    Mon probleme est que a la ligne 73 de la classe sport il n'y a que le bRm qui marche dans le fond je veu que sois a ou A(minuscule ou majuscule) peuve etre entrer pour que la reponse sois bonne mais sa ne marche pas sa me marque aucune erreur mais dans ma classe main il a juste le bRm que je peu marquer pour que sa donne la bonne reponse je ne comprend pas pourtant j'ai marquer ||

    -
    Edité par korked 2 avril 2015 à 4:29:07

    • Partager sur Facebook
    • Partager sur Twitter
      2 avril 2015 à 7:18:05

      Tu as mis "bR = pbRm".

      Tu devrais donner des noms plus parlants à tes variables et tes méthodes. Ca rendrait ton code beaucoup plus lisible pour les autres, mais aussi et surtout pour toi.

      Ex: rA -> reponseA, qW -> poserQuestion

      Une solution plus simple pour gérer les minuscules/majuscules est de transformer la réponse en majuscule avant de faire le test.

      String reponse = sc.nextLine().toUpperCase();

      (aussi, c'est mieux de déclarer reponse dans la méthode qW puisqu'elle n'est pas utilisée ailleurs)

      Dernière chose, tu n'as pas besoin de créer un nouvel objet Sport dans ta méthode qW puisqu'elle est elle-même dans un objet Sport. Utilise juste this.getQuestion(), this.getrA(), etc (sans this, ça marche aussi).

      Edit : La méthode setQuestion ne sert à rien, tu peux l'enlever.

      -
      Edité par brubru777 2 avril 2015 à 7:24:39

      • Partager sur Facebook
      • Partager sur Twitter
        2 avril 2015 à 14:14:27

        Merci j'avais oublier cette methode effectivement sa simplifie les chose
        • Partager sur Facebook
        • Partager sur Twitter

        || qui ne marche pas

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown