Manipulation des conditions java

Fermé
Saouthen - 25 août 2010 à 20:48
choubaka Messages postés 39083 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 29 septembre 2022 - 6 sept. 2010 à 16:57
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

kidator.quitador Messages postés 18 Date d'inscription mardi 31 août 2010 Statut Membre Dernière intervention 13 septembre 2010 3
5 sept. 2010 à 02:31
Salut,

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


Bonne chance pour la suite!


Kidator.
1
kidator.quitador Messages postés 18 Date d'inscription mardi 31 août 2010 Statut Membre Dernière intervention 13 septembre 2010 3
Modifié par kidator.quitador le 31/08/2010 à 18:38
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
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
kidator.quitador Messages postés 18 Date d'inscription mardi 31 août 2010 Statut Membre Dernière intervention 13 septembre 2010 3
3 sept. 2010 à 20:44
Ok voilà : kidator.quitador@laposte.net
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
choubaka Messages postés 39083 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 29 septembre 2022 2 090
6 sept. 2010 à 07:39
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
kidator.quitador Messages postés 18 Date d'inscription mardi 31 août 2010 Statut Membre Dernière intervention 13 septembre 2010 3
Modifié par kidator.quitador le 6/09/2010 à 13:58
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
choubaka Messages postés 39083 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 29 septembre 2022 2 090
6 sept. 2010 à 16:57
Merci pour eux....;-)
0