Manipulation des conditions java
Saouthen
-
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39442 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:
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:
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
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
A voir également:
- Manipulation des conditions java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
6 réponses
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.
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.
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 :)
Veux-tu que je t'envoie le code complet par mail? Si oui, link moi ton adresse mail et je m'exécute :)
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
A bientôt et merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
OK desolé voici le code un peu long mais bon voila :
en fait il faillait remplacer
par
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;
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(); } } }