Manipulation des conditions java

Saouthen -  
choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai créer un programme somme toute assez simple. Je vous en explique brièvement le principe: il s'agit de générer aléatoirement deux cartes (sur un jeux de 54) qui représente une main d'entrée au Texas Hold'em. Ensuite le programme est censé demander à quelle catégorie appartient cette main (8 catégories par ordre de force) puis valider ou corriger la réponse.
Seulement, j'ai deux problème: l'un est majeur puisqu'il concerne le programme en entier. En effet, je me rends compte que la plupart du temps la catégorie est 0 (catégorie 'poubelle') et ce même lorsque j'ai programmé la main pour être 1 ou 2... Je vous link une partie de mon code (assez long) pour que vous m'aidiez à trouver l'erreur:

int categories;
	
	switch (nbre1) {
	
	case 1: {
		switch (nbre2){
		
		case 1: {categories = 1;
			break;}
		
		case 13:{ 
			if (nbre3 == nbre4)
				categories = 1;
			else categories = 2;
			break;}

// . . .

                default: {categories = 0
                          break;} // par exemple


En gros je dis que si la carte1 (liée au nbre1) est un AS (nbre1 = 1), alors si la carte2 (liée au nbre2) est un AS (nbre2 = 1), la variable categories vaut 1.
Et si la carte2 est un Roi (nbre2 = 13), alors il faut regarder si la couleur de l'As et du Roi est la même (nbre3 == nbre4?), etc, j'espère que vous avez compris le principe.
Et c'est là que la plupart du temps categories vaut 0 comme si les case précédents n'étaient jamais réalisés.

Ma deuxième question concerne ma boucle. J'ai inséré un while au début pour que si l'utilisateur réponds "O" à la question "Voulez-vous réessayer? (0/N)", le programme se relance. Seulement impossible de saisir le moindre texte après cette même question malgré un:

	System.out.println ("Voulez-vous réessayez? O/N");
	ouinon = sc.nextLine();


Je ne sais pas trop si j'ai été assez clair. Si non, je peux vous envoyer le code complet (800 lignes). Merci d'avance pour votre aide

6 réponses

  1. kidator.quitador Messages postés 18 Statut Membre 3
     
    Salut,

    je t'ai envoyé par mail le fichier, ça fonctionne!

    Bonne chance pour la suite!

    Kidator.
    1
  2. kidator.quitador Messages postés 18 Statut Membre 3
     
    Salut,

    Il faudrait peut-être plus de code c'est vrai. Concernant la boucle ecrit :

    System.out.println ("Voulez-vous réessayez? O/N");
    sc.nextLine();
    ouinon = sc.nextLine();

    en espérant que ça marche.

    Bonne chance!

    Kidator.
    0
  3. Saouthen
     
    Ton astuce m'a permis de pouvoir répondre à la question, seulement la boucle ne fonctionne toujours pas.
    Veux-tu que je t'envoie le code complet par mail? Si oui, link moi ton adresse mail et je m'exécute :)
    0
    1. kidator.quitador Messages postés 18 Statut Membre 3
       
      Ok voilà : kidator.quitador@laposte.net
      0
  4. Saouthen
     
    C'est fantastique merci beaucoup! c'est vrai que le coup du break en dehors de chaque 1er case arrange beaucoup!

    A bientôt et merci encore
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    Bonjour

    Par contre, cette manière de résoudre des problèmes va à l'encontre de la politique de CCM.
    Le but étant de faire profiter ces expérience avec l'ensemble de la communauté.

    Là, c'est foutu.

    Avis de modo
    0
    1. kidator.quitador Messages postés 18 Statut Membre 3
       
      OK desolé voici le code un peu long mais bon voila :

      en fait il faillait remplacer

      while(ouinon == "O")


      par

      while(ouinon.equalsIgnoreCase("O")) {



      et il fallait ajouter les "break;" après les "case" du premier switch() pour que la variable "categorie"
      ne soit pas trop souvent égal à zero et enfin il a fallut déplacer le bloc :

      int reponse = sc.nextInt();
      if (reponse == categories)
      System.out.println("Bonne réponse");
      else System.out.println("Mauvaise réponse, c'était la " + categories);


      System.out.println("Voulez-vous réessayez? O/N");
      sc.nextLine();ouinon = sc.nextLine();

      hors des parenthèses du "switch" et initialiser la variable "catégorie".

      /*
      * Pkr.java
      *
      * Created on 20 août 2010, 16:02
      *
      * To change this template, choose Tools | Template Manager
      * and open the template in the editor.
      */

      package Pkr;

      import java.util.Random;
      import java.util.Scanner;

      /** 
       * 
       * @author Saouthen (with Kidator participation) 
       */ 
      public class Pkr { 
          /** 
           * Creates a new instance of Pkr 
           */ 
          public Pkr() { 
          } 
          /** 
           * @param args 
           */ 
          public static void main(String[] args) { 
              // TODO Auto-generated method stub 
              String ouinon = "O"; 
              while(ouinon.equalsIgnoreCase("O")) { 
                  .
                 .
      .
      // début du jeu 
                   
                  System.out.println("A quelle catégorie appartient cette main?"); 
                  Scanner sc = new Scanner(System.in); 
                   
                  int categories = 0; 
                   
                  switch (nbre1) { 
                       
                      case 1: { 
                          switch (nbre2){ 
                               
                              case 1: {categories = 1; 
                              break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 1; 
                                  else categories = 2; 
                                  break;} 
                               
                              case 12: { 
                                  if (nbre3 == nbre4) 
                                      categories = 2; 
                                  else categories = 3; 
                                  break;} 
                               
                              case 11: { 
                                  if (nbre3 == nbre4) 
                                      categories = 2; 
                                  else categories = 4; 
                                  break;} 
                               
                              case 10: { 
                                  if (nbre3 == nbre4) 
                                      categories = 3; 
                                  else categories = 6; 
                                  break;} 
                               
                              case 9: { 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              default: { 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break; } 
                          } 
                      }break; 
                      case 13:{ 
                          switch (nbre2){ 
                               
                              case 1: { 
                                  if (nbre3 == nbre4) 
                                      categories = 1; 
                                  else categories = 2; 
                                  break;} 
                               
                              case 13: { 
                                  categories = 1; 
                                  break;} 
                               
                              case 12: { 
                                  if (nbre3 == nbre4) 
                                      categories = 2; 
                                  else categories = 4; 
                                  break;} 
                               
                              case 11:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 3; 
                                  else categories = 5; 
                                  break;} 
                               
                              case 10:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 6; 
                                  break;} 
                               
                              case 9:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 8; 
                                  break;} 
                               
                              default:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                          }}break; 
                           
                      case 12:{ 
                          switch (nbre2) { 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 2; 
                                  else categories = 3; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 2; 
                                  else categories = 4; 
                                  break;} 
                               
                              case 12:{ 
                                  categories = 1; 
                                  break;} 
                               
                              case 11:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 3; 
                                  else categories = 5; 
                                  break;} 
                               
                              case 10:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 6; 
                                  break;} 
                               
                              case 9:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 8:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                               
                          }}break; 
                      case 11:{ 
                          switch (nbre2) { 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 2; 
                                  else categories = 4; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 3; 
                                  else categories = 5; 
                                  break;} 
                               
                              case 12:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 3; 
                                  else categories = 5; 
                                  break;} 
                               
                              case 11:{ 
                                  categories = 1; 
                                  break;} 
                               
                              case 10:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 3; 
                                  else categories = 5; 
                                  break;} 
                               
                              case 9:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 7; 
                                  break;} 
                               
                              case 8: { 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 7:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                          }}break; 
                      case 10:{ 
                          switch (nbre2){ 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 3; 
                                  else categories = 6; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 6; 
                                  break;} 
                               
                              case 12:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 6; 
                                  break;} 
                               
                              case 11:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 3; 
                                  else categories = 5; 
                                  break;} 
                               
                              case 10:{ 
                                  categories = 2; 
                                  break;} 
                               
                              case 9:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 7; 
                                  break;} 
                               
                              case 8:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                              case 7:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                               
                          } 
                      }break; 
                      case 9:{ 
                          switch (nbre2){ 
                               
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 12:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 11:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 7; 
                                  break;} 
                               
                              case 9: { 
                                  categories = 3; 
                                  break;} 
                               
                              case 10:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 7; 
                                  break;} 
                               
                              case 8:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 7; 
                                  break;} 
                               
                              case 7:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 6:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                          }}break; 
                           
                      case 8:{ 
                          switch (nbre2){ 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 12:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 11:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 10: { 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 9:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 4; 
                                  else categories = 7; 
                                  break;} 
                               
                              case 8:{ 
                                  categories = 4; 
                                  break;} 
                               
                              case 7:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 6:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 5:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                          } 
                      }break; 
                      case 7:{ 
                          switch (nbre2){ 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 11:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 10: { 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 9:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 7:{ 
                                  categories = 5; 
                                  break;} 
                               
                              case 8:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 6:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 5:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 4:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                          } 
                      }break; 
                      case 6:{ 
                          switch (nbre2){ 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 9:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 6:{ 
                                  categories = 6; 
                                  break;} 
                               
                              case 8:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 7:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 5:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 4:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                          } 
                      }break; 
                      case 5:{ 
                          switch (nbre2){ 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 5:{ 
                                  categories = 6; 
                                  break;} 
                               
                              case 8:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 7:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 6:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 4:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 3:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                               
                          } 
                      }break; 
                      case 4:{ 
                          switch (nbre2) { 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 7:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 6:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 5:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 6; 
                                  else categories = 8; 
                                  break;} 
                               
                              case 4:{ 
                                  categories = 7; 
                                  break;} 
                               
                              case 3:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 2:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break; } 
                          }}break; 
                      case 3:{ 
                          switch (nbre2) { 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 5:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 4:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 3:{ 
                                  categories = 7; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                          }}break; 
                           
                      case 2:{ 
                          switch (nbre2) { 
                               
                              case 1:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 5; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 13:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 7; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 3:{ 
                                  if (nbre3 == nbre4) 
                                      categories = 8; 
                                  else categories = 0; 
                                  break;} 
                               
                              case 2: { 
                                  categories = 7; 
                                  break;} 
                               
                              default:{ 
                                  categories = 0; 
                                  break;} 
                               
                          }break; 
                      } 
                       
                       
                  } 
                  int reponse = sc.nextInt(); 
                  if (reponse == categories) 
                      System.out.println("Bonne réponse"); 
                  else System.out.println("Mauvaise réponse, c'était la " + categories); 
                   
                   
                  System.out.println("Voulez-vous réessayez? O/N"); 
                  sc.nextLine();ouinon = sc.nextLine(); 
              } 
          } 
      }
      0
  7. choubaka Messages postés 5534 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    Merci pour eux....;-)
    0