Erreur dans une boucle do while + switch

Résolu
artemis01 Messages postés 5 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 26 juin 2011 - 26 juin 2011 à 01:38
artemis01 Messages postés 5 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 26 juin 2011 - 26 juin 2011 à 22:01
Bonjour,
j'ai besoin d'un coup de pouce pour finir mon prog, je n'obtiens pas ce que je pensais.
J'ai fais un menu de 1 à 7: quand l'utilsateur tape 7 c'est pour quitter mais je voudrais lui demander juste avant de quitter:
SI il reste des fenêtres ouvertes
SI il veut les sauvegarder
SI oui aller à la case 6
SI NON quitter en fermant sans enregistrer
Le oui fonctionne mais le Non ne fonctionne pas, le prog se bloque, il se passe rien après la saisi.

Merci d'avance

j'ai fait une methode pour quitter:


	public int quitterImage(){
//if(this.mesImagesCrees.length !=0 || this.mesImagesLues.length !=0){
if(this.mesImagesCrees.length !=0){
Terminal.ecrireStringln("Il reste des images non enregistrees!");
Terminal.ecrireString("Voulez_vous quitter sans les enregistrer(O/N)? : ");
char rep=Terminal.lireChar();
rep=Character.toUpperCase(rep);
if(rep!='O'){
return 6; //retour a case 6
}
else
return 7;
}
return 7;
}



dans le main simplifié :

do{
        try{
           choix= menuUtilisateur.afficherChoisir();//affiche le menu
           switch(choix){
               case 1: System.out.print("nom du fichier à ouvrir:");
               break;
               case 2:System.out.print("fermer");
               break;
               case 3:System.out.print("creer");
               break;
               case 4:System.out.print("incruster une image");
               break;
               case 5:System.out.print("traiter une image");
               break;
               case 6:System.out.print("sauvegarder");
               break;
           }//switch
        }//try
        catch (ChoixIncorrect e){
            Terminal.ecrireStringln("Attention mauvaise saisi, recommencez!");
        }
    }
    while(choix!=7);
if(MaCollection.quitterImage()!=7)
choix= 6; //je vais a la sauvegarde
else{
choix= 7; //je quitte pour de bon
try{
MaCollection.fermerTout();
}
catch(BitmapAbscent e){
}
System.out.print("A bientôt");
}

}//main

2 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
26 juin 2011 à 20:22
salut,

quel structure etonnante!!!?? ;o) pourquoi diable utiliser le java?? ;o) ...

Enfin! si ton programme bloque c est peu etre tout simplement parceque tu as oublier le System.exit(0)??!!

Rq : pour ne fait tu pas le traitement de la valeur 7 dans ta close Switch???

GodConan ;o)
3
artemis01 Messages postés 5 Date d'inscription samedi 26 mars 2011 Statut Membre Dernière intervention 26 juin 2011
26 juin 2011 à 22:01
Bonjour,
Désolée, je suis en première année et on a un cours en java,c'est le bazar mon code ?
j'ai suivi tes conseils et ça fonctionne.
Merci!
3
Rejoignez-nous