Inscription / Connexion Nouveau Sujet

1 2 3 +


Posté par
gggg1234
re : Sauvegarde d'informations sur java 09-02-15 à 13:46

renvois moi tout le prog une fois

Posté par
Riley
re : Sauvegarde d'informations sur java 09-02-15 à 15:03

Voilà le "Resultat++;" c'était pour essayer de modifier la valeur de la variable.

import java.util.Scanner;
public class sudokupart1 {





static Scanner sudoku = new Scanner (System.in);

public static void main(String[] args){

//initalisation variables
     int Sudoku = 0;// niveau de jeu
     int Resultat = 0;// la condition, remplie ou pas
     int nbrpartie_faciles = 1;// nombre de parties faciles jouées
     int nbrpartie_moyennes = 1;// nombre de parties moyennes jouées
     int nbrpartie_dificiles = 1;// nombre de parties dificiles jouées
     int nbrpartiefaciles_terminées = 1;// nombre de parties faciles gagnées
     int nbrpartiemoyennes_terminées = 1;// nombre de parties moyennes gagnées
     int nbrpartiedificiles_terminées = 1;// nombre de parties dificiles gagnées
     int tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// taux de réussite des parties de niveau facile
     int tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// taux de réussite des parties de niveau moyen
     int tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// taux de réussite des parties de niveau dificile
     int tempsreso_facile = 0;// temps de resolution d'une partie de niveau facile
     int tempsreso_moyen = 0;// temps de resolution d'une partie de niveau moyen
     int tempsreso_dificile = 0;// temps de resolution d'une partie de niveau dificile
     int tempsmoyreso_facile = tempsreso_facile/nbrpartiefaciles_terminées;//temps de resolution moyen d'une partie de niveau facile
     int tempsmoyreso_moyen = tempsreso_moyen/nbrpartiemoyennes_terminées;// temps de resolution moyen d'une partie de niveau moyen
     int tempsmoyreso_dificile = tempsreso_dificile/nbrpartiedificiles_terminées;// temps de resolution moyen d'une partie de niveau dificile
     int nbrpartieperdue = (nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles)-(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// nombre de parties perdues
     int nbrpartiegagnée = nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées;// nombre de parties gagnées
     int nbrpartiejouée = nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles;// nombre de parties jouées
     int tempsresomoy = (tempsmoyreso_facile+tempsmoyreso_moyen+tempsmoyreso_dificile)/(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// temps de resolution moyen
     String Afficheur1 = null;
     String Afficheur2 = null;
     String Afficheur3 = null;
    
           //affichage message de bienvenue et enregistrement du nom, prénom, age

           System.out.println ("Bonjour, veuillez suivre les informations qui s'afficheront sur votre écran");//affichage message de bienvenue
                          
          int condition_nom = 0; //initialisation variables pour la condition sur la limite de caractères
          while (condition_nom == 0){
          
                                 Scanner Unscanner1 = new Scanner(System.in);//initialisation du scanner correspondant
                    
                                   System.out.print(" Entrez votre nom : ");
                    
                                     Afficheur1 = Unscanner1.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                                    
                    
                                     if(Afficheur1.length()<3){ // si le nom comporte moin de 3 caractères
                                        
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                          
                                         }
                                   else if (Afficheur1.length()>256){ // si le nom comporte plus de 256 caractères
                                      
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                                        }
                                 else {condition_nom = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
                                          }  
                                      
                                        
                          
                              int condition_nom1 = 0;//initialisation variables pour la condition sur la limite de caractères
                              
                              while (condition_nom1 == 0){
    
                                                Scanner Unscanner2 = new Scanner(System.in); //initialisation du scanner correspondant
                                        
                                                  System.out.print(" Entrez votre Prénom : ");
        
                                                    Afficheur2 = Unscanner2.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                                                    
                                                    
                                                    if(Afficheur2.length()<3){ // si le prénom comporte moin de 3 caractères
                                                    
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                      
                                                        }
                                                  else if (Afficheur2.length()>256){ // si le prénom comporte plus de 256 caractères
                                                  
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                        
                                                                        }
                                                else {condition_nom1 = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
                                                      }  
        
        
                                          int condition_age = 0;
                                          
                                          while (condition_age == 0){
                                          
                                                            Scanner Unscanner3 = new Scanner(System.in);//initialisation du scanner correspondant
        
                                                              System.out.print(" Entrez votre âge :");
        
                                                                 Afficheur3 = Unscanner3.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur    
                                                                
                                                                                                                                                                                
                                                                 if(Integer.parseInt(Afficheur3) < 10){ // si le nombre est inferieur à 10
                                                                     System.out.println("Vous devez inserez un nombre compris entre 10 et 90");
                                                                    condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                     }
                                                                  else if (Integer.parseInt(Afficheur3) > 90){ // si le nombre est superieur à 90
                                                                     System.out.println("Vous devez inserez un nom compris entre 10 et 90");
                                                                     condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                     }
                                                                   else {condition_age = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
                                                                   }  
                            
                        
              
                      
                      
                String reponse="O";                    
              
               while (reponse.equals('O'));// quand la réponse égale à O alors lancement de la boucle
               {
              

                         System.out.println("Veuillez choisir un niveau de jeu:");
                          System.out.println (" -----------------------------------");              
                           System.out.println (" Entrez 1 pour Sudoku Debutant");
                   System.out.println (" Entrez 2 pour Sudoku Intermediaire");
                    System.out.println (" Entrez 3 pour Sudoku Expert");
                     System.out.println (" -----------------------------------");  
                    
                Sudoku = sudoku.nextInt();// extraction de la réponse
          
          
                    
             if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante
            
                            nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
                    
                  System.out.println("Avez-vous gagné la partie?");
          
                    Scanner Unscanner4 = new Scanner(System.in);//initialisation du scanner correspondant

                      System.out.print(" Tapez 4 pour oui ");
                      
                         System.out.print(" Tapez 5 pour non ");

                            Unscanner4.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                        
                        if(Resultat ==4)// si le joueur a gagné la partie alors
                        
                         Resultat++;
                        
                                nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    
                                
                              tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite  
                              
               }  
            
               else {  
               
                          tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;//sinon calcul du taux de reussite en ajoutant un echec
                          
                        System.out.println("En combien de temps vous avez remplie la grille?");
                  
                         Scanner Unscanner5 = new Scanner(System.in);//initialisation du scanner correspondant
                  
                      System.out.println("Donnez la réponse en minutes");
        
                   String Afficheur5 = Unscanner5.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                  
                     tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(Afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution
                    
               }
            
            
          
            
               if(Sudoku ==2){// si le niveau choisi est égale à 2 alors lancement de la boucle corespondante
               
                              nbrpartie_moyennes++;
                  
                                
                    System.out.println("Avez-vous gagné la partie?");
          
                      Scanner Unscanner6 = new Scanner(System.in);//initialisation du scanner correspondant

                        System.out.print(" Tapez 4 pour oui ");
                        
                           System.out.print(" Tapez 5 pour non ");

                             Unscanner6.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                        
                          if(Resultat ==4)// si le joueur a gagné la partie alors
                           
                                  nbrpartiemoyennes_terminées++;// incrémentation du nombre de parties moyennes gagnées                                  
                                                            
                                tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// calcul du taux de réussite
                                
               }
              
           else {
           
                        tauxreussite_moyen = nbrpartiemoyennes_terminées-1/nbrpartie_moyennes*100;//sinon calcul du taux de reussite en ajoutant un echec
            
                          System.out.println("En combien de temps vous avez remplie la grille?");
                            
                       Scanner Unscanner7 = new Scanner(System.in);//initialisation du scanner correspondant
        
                    System.out.println("Donnez la réponse en minutes");
                  
                 String Afficheur7 = Unscanner7.nextLine();  //extraction du contenu de la dernière ligne tapée par l'utilisateur  
                
                   tempsreso_moyen = (nbrpartiemoyennes_terminées * tempsreso_moyen) + Integer.parseInt(Afficheur7) / ( nbrpartiemoyennes_terminées);//calcul du temps de résolution
                  
             }
          
          
          
               if(Sudoku ==3){// si le niveau choisi est égale à 3 alors lancement de la boucle corespondante
               
                              nbrpartie_dificiles++;// incrémentaion du nombre parties dificiles  
          
                            
                    System.out.println("Avez-vous gagné la partie?");
          
                      Scanner Unscanner8 = new Scanner(System.in);//initialisation du scanner correspondant

                        System.out.print(" Tapez 4 pour oui ");  
                        
                           System.out.print(" Tapez 5 pour non ");
  
                             Unscanner8.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                          
                          if(Resultat ==4)// si le joueur a gagné la partie alors
                           
                              nbrpartiedificiles_terminées++;// incrémentation du nombre de parties dificiles gagnées                                  
                                
                            tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// calcul du taux de réussite
                            
               }
              
           else {
           
                        tauxreussite_dificile = nbrpartiedificiles_terminées-1/nbrpartie_dificiles*100;//sinon calcul du taux de reussite en ajoutant un echec
                                        
                          System.out.println("En combien de temps vous avez remplie la grille?");
                              
                       Scanner Unscanner9 = new Scanner(System.in);//initialisation du scanner correspondant
                  
                    System.out.println("Donnez la réponse en minutes");
                
                 String Afficheur9 = Unscanner9.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
        
                   tempsreso_dificile= (nbrpartiedificiles_terminées * tempsreso_dificile) + Integer.parseInt(Afficheur9) / ( nbrpartiedificiles_terminées);//calcul du temps de résolution
              
            
                 }
          

          
             System.out.println("Voulez-vous insérer d'autres parties? (O/N)"); //extraction de la reponse
            
               Scanner Unscanner10 = new Scanner(System.in); //si la reponse est non alors sortie de la boucle
            
                 reponse = Unscanner10.nextLine();          
              
                                
           //et affichage des résultats des variables              
                    
                          

               }
              
             System.out.println("*****************************Statistiques Sudoku*****************************");
            
             System.out.println("-------Informations personnelles");
             System.out.println("Nom:"+" "+Afficheur1+".");
             System.out.println("Prénom:"+""+Afficheur2+".");
             System.out.println("Âge:"+""+Afficheur3+"ans.");
            
            
             System.out.println("---------------------------Statistiques détaillées--------------------------");
            
             System.out.println("------Statistiques niveau facile ");
             System.out.println("Nombre de parties non terminées: "+String.valueOf(nbrpartie_faciles-nbrpartiefaciles_terminées));
             System.out.println("Nombre de parties gagnées: "+nbrpartiefaciles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_facile);
             System.out.println("Nombre total de parties jouées: "+nbrpartie_faciles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_facile);
            
             System.out.println("------Statistiques niveau moyen ");
             System.out.println("Nombre de parties non terminées: "+String.valueOf(nbrpartie_moyennes-nbrpartiemoyennes_terminées));
             System.out.println("Nombre de parties gagnées: "+nbrpartiemoyennes_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_moyen);
             System.out.println("Nombre total de parties jouées: "+nbrpartie_moyennes);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_moyen);
            
             System.out.println("------Statistiques niveau dificile ");
             System.out.println("Nombre de parties non terminées: "+String.valueOf(nbrpartie_dificiles-nbrpartiedificiles_terminées));
             System.out.println("Nombre de parties gagnées: "+nbrpartiedificiles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_dificile);
             System.out.println("Nombre total de parties jouées: "+nbrpartie_dificiles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_dificile);
            
            
             System.out.println("---------------------------Statistiques globales--------------------------");
            
             System.out.println("Nombre de parties perdues: "+nbrpartieperdue);
             System.out.println("Nombre de parties gagnées: "+nbrpartiegagnée+" "+"Temps de résolution moyen: "+tempsresomoy);
             System.out.println("Nombre total de parties jouées: "+nbrpartiejouée);
             System.out.println("Taux de réussite du joueur : "+(nbrpartiegagnée)/(nbrpartiejouée)*100);
            
                         
                                      
            

            }

}

Posté par
Riley
re : Sauvegarde d'informations sur java 09-02-15 à 16:51

je pourrai utiliser une fonction de ce genre :
if(Resultat == 5) break;

Posté par
gggg1234
re : Sauvegarde d'informations sur java 09-02-15 à 18:09

je te renvoie une versiobn, un peu corrigée ici et là, mais pas encore parfaite.
désolé je peux pas fair eplus.

G

import java.util.Scanner;
public class test {





static Scanner sudoku = new Scanner (System.in);

public static void main(String[] args){

// initalisation variables
int Sudoku = 0;// niveau de jeu
String  Resultat = null;// la condition, remplie ou pas
int nbrpartie_faciles = 1;// nombre de parties faciles jouées
int nbrpartie_moyennes = 1;// nombre de parties moyennes jouées
int nbrpartie_dificiles = 1;// nombre de parties dificiles jouées
int nbrpartiefaciles_terminées = 1;// nombre de parties faciles gagnées
int nbrpartiemoyennes_terminées = 1;// nombre de parties moyennes gagnées
int nbrpartiedificiles_terminées = 1;// nombre de parties dificiles gagnées
int tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// taux de réussite des parties de niveau facile
int tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// taux de réussite des parties de niveau moyen
int tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// taux de réussite des parties de niveau dificile
int tempsreso_facile = 0;// temps de resolution d'une partie de niveau facile
int tempsreso_moyen = 0;// temps de resolution d'une partie de niveau moyen
int tempsreso_dificile = 0;// temps de resolution d'une partie de niveau dificile
int tempsmoyreso_facile = tempsreso_facile/nbrpartiefaciles_terminées;//temps de resolution moyen d'une partie de niveau facile
int tempsmoyreso_moyen = tempsreso_moyen/nbrpartiemoyennes_terminées;// temps de resolution moyen d'une partie de niveau moyen
int tempsmoyreso_dificile = tempsreso_dificile/nbrpartiedificiles_terminées;// temps de resolution moyen d'une partie de niveau dificile
int nbrpartieperdue = (nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles)-(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// nombre de parties perdues
int nbrpartiegagnée = nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées;// nombre de parties gagnées
int nbrpartiejouée = nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles;// nombre de parties jouées
int tempsresomoy = (tempsmoyreso_facile+tempsmoyreso_moyen+tempsmoyreso_dificile)/(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// temps de resolution moyen
String Afficheur1 = null;
String Afficheur2 = null;
String Afficheur3 = null;

//affichage message de bienvenue et enregistrement du nom, prénom, age

System.out.println ("Bonjour, veuillez suivre les informations qui s'afficheront sur votre écran");//affichage message de bienvenue

int condition_nom = 0; //initialisation variables pour la condition sur la limite de caractères
while (condition_nom == 0){

Scanner Unscanner1 = new Scanner(System.in);//initialisation du scanner correspondant

System.out.print(" Entrez votre nom : ");

Afficheur1 = Unscanner1.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur


if(Afficheur1.length()<3){ // si le nom comporte moin de 3 caractères

System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");

condition_nom = 0; // variable à zero tant que la condition n'est pas remplie

}
else if (Afficheur1.length()>256){ // si le nom comporte plus de 256 caractères

System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");

condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
}
else {condition_nom = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
}  



int condition_nom1 = 0;//initialisation variables pour la condition sur la limite de caractères

while (condition_nom1 == 0){

Scanner Unscanner2 = new Scanner(System.in); //initialisation du scanner correspondant

System.out.print(" Entrez votre Prénom : ");

Afficheur2 = Unscanner2.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur


if(Afficheur2.length()<3){ // si le prénom comporte moin de 3 caractères

System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");

condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie

}
else if (Afficheur2.length()>256){ // si le prénom comporte plus de 256 caractères

System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");

condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie

}
else {condition_nom1 = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
}  


int condition_age = 0;

while (condition_age == 0){

Scanner Unscanner3 = new Scanner(System.in);//initialisation du scanner correspondant

System.out.print(" Entrez votre âge :");

Afficheur3 = Unscanner3.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur    


if(Integer.parseInt(Afficheur3) < 10){ // si le nombre est inferieur à 10
System.out.println("Vous devez inserez un nombre compris entre 10 et 90");
condition_age = 0; // variable à zero tant que la condition n'est pas remplie
}
else if (Integer.parseInt(Afficheur3) > 90){ // si le nombre est superieur à 90
System.out.println("Vous devez inserez un nom compris entre 10 et 90");
condition_age = 0; // variable à zero tant que la condition n'est pas remplie
}
else {condition_age = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
}  





String reponse="O";                    

while (reponse.equals('O'));// quand la réponse égale à O alors lancement de la boucle
{


System.out.println("Veuillez choisir un niveau de jeu:");
System.out.println (" -----------------------------------");              
System.out.println (" Entrez 1 pour Sudoku Debutant");
System.out.println (" Entrez 2 pour Sudoku Intermediaire");
System.out.println (" Entrez 3 pour Sudoku Expert");
System.out.println (" -----------------------------------");  

Sudoku = sudoku.nextInt();// extraction de la réponse



if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante

nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
System.out.println("Avez-vous gagné la partie?");
Scanner Unscanner4 = new Scanner(System.in);//initialisation du scanner correspondant
System.out.print(" Tapez 4 pour oui ");
System.out.print(" Tapez 5 pour non ");
Resultat=Unscanner4.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur

if(Resultat.equals('4')){// si le joueur a gagné la partie alors



nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    

tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite  
                System.out.println("En combien de temps vous avez remplie la grille?");

Scanner Unscanner5 = new Scanner(System.in);//initialisation du scanner correspondant

System.out.println("Donnez la réponse en minutes");

String Afficheur5 = Unscanner5.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur

tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(Afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution

}  

else {  

tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;//sinon calcul du taux de reussite en ajoutant un echec


}




if(Sudoku ==2){// si le niveau choisi est égale à 2 alors lancement de la boucle corespondante

nbrpartie_moyennes++;


System.out.println("Avez-vous gagné la partie?");

Scanner Unscanner6 = new Scanner(System.in);//initialisation du scanner correspondant

System.out.print(" Tapez 4 pour oui ");

System.out.print(" Tapez 5 pour non ");

Resultat=Unscanner6.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur

if(Resultat.equals('4')){// si le joueur a gagné la partie alors

nbrpartiemoyennes_terminées++;// incrémentation du nombre de parties moyennes gagnées                                  

tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// calcul du taux de réussite
                System.out.println("En combien de temps vous avez remplie la grille?");

Scanner Unscanner7 = new Scanner(System.in);//initialisation du scanner correspondant

System.out.println("Donnez la réponse en minutes");

String Afficheur7 = Unscanner7.nextLine();  //extraction du contenu de la dernière ligne tapée par l'utilisateur  

tempsreso_moyen = (nbrpartiemoyennes_terminées * tempsreso_moyen) + Integer.parseInt(Afficheur7) / ( nbrpartiemoyennes_terminées);//calcul du temps de résolution

}

else {

tauxreussite_moyen = nbrpartiemoyennes_terminées-1/nbrpartie_moyennes*100;//sinon calcul du taux de reussite en ajoutant un echec


}

}

if(Sudoku ==3){// si le niveau choisi est égale à 3 alors lancement de la boucle corespondante

nbrpartie_dificiles++;// incrémentaion du nombre parties dificiles  


System.out.println("Avez-vous gagné la partie?");

Scanner Unscanner8 = new Scanner(System.in);//initialisation du scanner correspondant

System.out.print(" Tapez 4 pour oui ");  

System.out.print(" Tapez 5 pour non ");

Resultat=Unscanner8.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur

if(Resultat.equals('4')){// si le joueur a gagné la partie alors

nbrpartiedificiles_terminées++;// incrémentation du nombre de parties dificiles gagnées                                  

tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// calcul du taux de réussite
                System.out.println("En combien de temps vous avez remplie la grille?");

Scanner Unscanner9 = new Scanner(System.in);//initialisation du scanner correspondant

System.out.println("Donnez la réponse en minutes");

String Afficheur9 = Unscanner9.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
tempsreso_dificile= (nbrpartiedificiles_terminées * tempsreso_dificile) + Integer.parseInt(Afficheur9) / ( nbrpartiedificiles_terminées);//calcul du temps de résolution

}

else {

tauxreussite_dificile = nbrpartiedificiles_terminées-1/nbrpartie_dificiles*100;//sinon calcul du taux de reussite en ajoutant un echec

}

}

System.out.println("Voulez-vous insérer d'autres parties? (O/N)"); //extraction de la reponse

Scanner Unscanner10 = new Scanner(System.in); //si la reponse est non alors sortie de la boucle

reponse = Unscanner10.nextLine();          

System.out.println(reponse);
//et affichage des résultats des variables              



}

System.out.println("*****************************Statistiques Sudoku*****************************");

System.out.println("-------Informations personnelles");
System.out.println("Nom:"+" "+Afficheur1+".");
System.out.println("Prénom:"+""+Afficheur2+".");
System.out.println("Âge:"+""+Afficheur3+"ans.");


System.out.println("---------------------------Statistiques détaillées--------------------------");

System.out.println("------Statistiques niveau facile ");
System.out.println("Nombre de parties non terminées: "+String.valueOf(nbrpartie_faciles-nbrpartiefaciles_terminées));
System.out.println("Nombre de parties gagnées: "+nbrpartiefaciles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_facile);
System.out.println("Nombre total de parties jouées: "+nbrpartie_faciles);
System.out.println("Taux de réussite du joueur : "+tauxreussite_facile);

System.out.println("------Statistiques niveau moyen ");
System.out.println("Nombre de parties non terminées: "+String.valueOf(nbrpartie_moyennes-nbrpartiemoyennes_terminées));
System.out.println("Nombre de parties gagnées: "+nbrpartiemoyennes_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_moyen);
System.out.println("Nombre total de parties jouées: "+nbrpartie_moyennes);
System.out.println("Taux de réussite du joueur : "+tauxreussite_moyen);

System.out.println("------Statistiques niveau dificile ");
System.out.println("Nombre de parties non terminées: "+String.valueOf(nbrpartie_dificiles-nbrpartiedificiles_terminées));
System.out.println("Nombre de parties gagnées: "+nbrpartiedificiles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_dificile);
System.out.println("Nombre total de parties jouées: "+nbrpartie_dificiles);
System.out.println("Taux de réussite du joueur : "+tauxreussite_dificile);


System.out.println("---------------------------Statistiques globales--------------------------");

System.out.println("Nombre de parties perdues: "+nbrpartieperdue);
System.out.println("Nombre de parties gagnées: "+nbrpartiegagnée+" "+"Temps de résolution moyen: "+tempsresomoy);
System.out.println("Nombre total de parties jouées: "+nbrpartiejouée);
System.out.println("Taux de réussite du joueur : "+(nbrpartiegagnée)/(nbrpartiejouée)*100);





}

}
}

Posté par
Riley
re : Sauvegarde d'informations sur java 09-02-15 à 18:15

T'inquiète pas, c'est plutôt à moi de m'excuser de t'avoir dérangé avec ça et je te remercie déjà de tout ce que tu as fait.

Posté par
gggg1234
re : Sauvegarde d'informations sur java 09-02-15 à 18:21

pas de pb.


Hésite pas si tu as d'autres question.
Mais si tu stoppe ton projet ce soir, çà sera sur un autre sans doute!

Bon courage.

Posté par
Riley
re : Sauvegarde d'informations sur java 10-02-15 à 11:35

Merci, en fait je vais te déranger encore une fois, car je voudrais essayer de terminer ce programme. Je suis en train d'appliquer la structure switch pour la condition du choix 4 s'il a gagné et 5 s'il a perdu, le problème c'est que je ne sais pas trop où mettre l'accolade de fin.


if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante
            
                            nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
                    
                  System.out.println("Avez-vous gagné la partie?");
                  
                  int choix1 = 4;
                  
                  switch (choix1)
                  
                  {
          
                    Scanner Unscanner4 = new Scanner(System.in);//initialisation du scanner correspondant

                      System.out.print(" Tapez 4 pour oui ");
                      
                         System.out.print(" Tapez 5 pour non ");

                            Unscanner4.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                        
                        if(resultat ==4)// si le joueur a gagné la partie alors
                        
                         resultat++;
                        
                                nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    
                                
                              tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite  
                              
                    if (resultat == 5)  break;    
                  
                    
               }  
            
               else {  
               
                          tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;//sinon calcul du taux de reussite en ajoutant un echec
                          
                        System.out.println("En combien de temps vous avez remplie la grille?");
                  
                         Scanner Unscanner5 = new Scanner(System.in);//initialisation du scanner correspondant
                  
                      System.out.println("Donnez la réponse en minutes");
        
                   String afficheur5 = Unscanner5.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                  
                     tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution
                    
               }

Posté par
Riley
re : Sauvegarde d'informations sur java 10-02-15 à 11:39

sinon j'ai fais comme ça:
  if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante
            
                            nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
                    
                  System.out.println("Avez-vous gagné la partie?");
                  
                  int choix1 = 4;
                  
                  switch (choix1)
                  
                  {
          
                    Scanner Unscanner4 = new Scanner(System.in);//initialisation du scanner correspondant

                      System.out.print(" Tapez 4 pour oui ");
                      
                         System.out.print(" Tapez 5 pour non ");

                            Unscanner4.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                        
                        if(resultat == 4)// si le joueur a gagné la partie alors
                        
                         resultat++;
                        
                                nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    
                                
                              tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite  
                                                                                 
               
                          tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;//sinon calcul du taux de reussite en ajoutant un echec
                          
                        System.out.println("En combien de temps vous avez remplie la grille?");
                  
                         Scanner Unscanner5 = new Scanner(System.in);//initialisation du scanner correspondant
                  
                      System.out.println("Donnez la réponse en minutes");
        
                   String afficheur5 = Unscanner5.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                  
                     tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution
                    break;
               }
              if (resultat == 5)
               break;
             }
              

Posté par
gggg1234
re : Sauvegarde d'informations sur java 10-02-15 à 12:09

Non ca marchera pas tu as melanfe plein de chose.
Le switch se fait sur la variable resultat il faut donc que tu la lise avant.
Et ensuite tu as deux cas a gerer, 4 ou 5 et donc tu as des if inutiles
En resume ca doit avoir cette forme :

Poser question 4 ou 5
Lire reponse dans la variable reponse
Switch(réponse)
{ case 4 :
La tu fais tout le programme pour les parties reusdies
Case 5 : la tout le programme sur les partires perdues
Default :  break
}
En gros c'est ca regarde des ecemples sur internet si besoin

Posté par
Riley
re : Sauvegarde d'informations sur java 10-02-15 à 13:02

Comme ça ?

if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante
            
            
             int choix1 = 0;
            
                            nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
                    
                  System.out.println("Avez-vous gagné la partie?");                 
                                                                 
                    Scanner Unscanner4 = new Scanner(System.in);//initialisation du scanner correspondant

                      System.out.print(" Tapez 4 pour oui ");
                      
                         System.out.print(" Tapez 5 pour non ");

                            choix1 = Integer.parseInt(Unscanner4.nextLine()); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                          
                          
                         
                         switch (choix1)
                         {
                         case 4 :// si le joueur a gagné la partie alors
                        
                        
                        
                                nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    
                                
                              tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite  
                                                                                 
               
                          tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;//sinon calcul du taux de reussite en ajoutant un echec
                          
                        System.out.println("En combien de temps vous avez remplie la grille?");
                  
                         Scanner Unscanner5 = new Scanner(System.in);//initialisation du scanner correspondant
                  
                      System.out.println("Donnez la réponse en minutes");
        
                   String afficheur5 = Unscanner5.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                  
                     tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution
                    
                         case 5 :
                          default :
                          break;
                         }

Posté par
Riley
re : Sauvegarde d'informations sur java 10-02-15 à 13:05

Malgré tout ça c'est toujours pareil, ça me répète 3 fois de suite la question sur le temps.

Posté par
gggg1234
re : Sauvegarde d'informations sur java 10-02-15 à 13:14

Oui c'est mieux.
Dans le case 5, tu dois calculer le taux des parties perdues.

Pour ta boucle , prends bien des variables differentes a chaQue fois que tu fais une lecture, ca evitera peut etre des pb.

Sinon pour savoir par quelles boucles tu passes ( peut etre a tord), hesite pas dans ton code a mettre des petits affichages qui aide
Genre
System.out.println (" ici c'est la boucle du sudoku 1")

Etc
Ca s'affichera quand tu exeçute le prog et ca t'aidera a comprendre pourquoi des choses obt l'air de se repeter

Posté par
gggg1234
re : Sauvegarde d'informations sur java 10-02-15 à 13:22

Car pour une raison ignoree tu passes peut etre dans les 3 boucles des trous niveaux de difficultes a la suite a cause d'une variable ou d'un if mal gere...d'ou le besoin de comprendre ce qui se passe

Posté par
Arowbaz
re : Sauvegarde d'informations sur java 10-02-15 à 14:42

Bonjour, je me suis permis d'apporter des modifications pour ton apprentissage.
Ce n'est pas encore parfait j'aurais fais autrement des choses mais ça suit ton squelette.

Mes remarques :
- des nombres qui ont des valeurs 0 ou 1 pour des conditions sont inutiles, on utilise des booléens
- pour éviter de taper plusieurs fois la meme chose, on utilise des méthodes : on écrit une seule fois le code dedans, et on appelle plusieurs fois la méthode. Tu ne dois pas connaître mais regarde c'est extrêmement utilisé ...
- tu as 3 niveaux avec des variables a chaque fois : mieux vaut utiliser un tableau et chaque case correspond à un niveau : dans mon code, la case 0 c est niveau facile, 1 moyen, 2 difficile.
- pour les variables, on utilise pas d'accent et elles comment toujours par une minuscule
- pas besoin d'utiliser plein de Scanner
Voilà le code :

Citation :
package IleMaths;

import java.util.Scanner;

public class stats {
    private static Scanner sc = new Scanner(System.in);
    private static int[] nbParties = { 1, 1, 1 };
    private static int[] nbPartiesFinished = { 1, 1, 1 };
    private static int[] txReussite = {
            nbPartiesFinished[0] / nbParties[0] * 100,
            nbPartiesFinished[1] / nbParties[1] * 100,
            nbPartiesFinished[2] / nbParties[2] * 100 };
    private static int[] tpsReso = { 0, 0, 0 };
    private static int[] tpsResoMoy = { tpsReso[0] / nbPartiesFinished[0],
            tpsReso[1] / nbPartiesFinished[1],
            tpsReso[2] / nbPartiesFinished[2] };
    private static int nbrpartieperdue = (nbParties[0] + nbParties[1] + nbParties[2])
            - (nbPartiesFinished[0] + nbPartiesFinished[1] + nbPartiesFinished[2]);
    private static int nbrpartiegagnée = nbPartiesFinished[0]
            + nbPartiesFinished[1] + nbPartiesFinished[2];
    private static int nbrpartiejouée = nbParties[0] + nbParties[1]
            + nbParties[2];
    private static int tempsresomoy = (tpsResoMoy[0] + tpsResoMoy[1] + tpsResoMoy[2])
            / (nbPartiesFinished[0] + nbPartiesFinished[1] + nbPartiesFinished[2]);
    private static String display1, display2, display3;

    public static void main(String[] args) {
        System.out
                .println("Bonjour, veuillez suivre les informations qui s'afficheront sur votre écran");
        display1 = getInfo("nom", 3, 256);
        display2 = getInfo("prénom", 3, 256);
        display3 = getNumInfo("âge", 10, 90);
        char reponse = 'O';
        while (reponse == 'O') {
            System.out.println("Veuillez choisir un niveau de jeu:");
            System.out.println(" -----------------------------------");
            System.out.println(" Entrez 1 pour Sudoku Debutant");
            System.out.println(" Entrez 2 pour Sudoku Intermediaire");
            System.out.println(" Entrez 3 pour Sudoku Expert");
            System.out.println(" -----------------------------------");
            int choice = sc.nextInt();
            switch (choice) {
            case 1:
                nbParties[0]++;
                printGames("facile");
                break;
            case 2:
                nbParties[1]++;
                printGames("moyen");
                break;
            case 3:
                nbParties[2]++;
                printGames("difficile");
                break;
            default:
                break;
            }
            System.out.println("Voulez-vous insérer d'autres parties? (O/N)");
            reponse = sc.next().charAt(0);
            System.out.println(reponse);
        }

        System.out
                .println("*****************************Statistiques Sudoku*****************************");
        System.out.println("-------Informations personnelles");
        System.out.println("Nom:" + " " + display1 + ".");
        System.out.println("Prénom:" + "" + display2 + ".");
        System.out.println("Âge:" + "" + display3 + " ans.");
        System.out
                .println("---------------------------Statistiques détaillées--------------------------");
        printStatsLevel("facile", nbParties[0], nbPartiesFinished[0],
                tpsResoMoy[0], txReussite[0]);
        printStatsLevel("moyen", nbParties[1], nbPartiesFinished[1],
                tpsResoMoy[1], txReussite[1]);
        printStatsLevel("difficile", nbParties[2], nbPartiesFinished[2],
                tpsResoMoy[2], txReussite[2]);
        System.out
                .println("---------------------------Statistiques globales--------------------------");
        System.out.println("Nombre de parties perdues: " + nbrpartieperdue);
        System.out.println("Nombre de parties gagnées: " + nbrpartiegagnée
                + " " + "Temps de résolution moyen: " + tempsresomoy);
        System.out.println("Nombre total de parties jouées: " + nbrpartiejouée);
        System.out.println("Taux de réussite du joueur : " + (nbrpartiegagnée)
                / (nbrpartiejouée) * 100);
        sc.close();
    }

    private static String getInfo(String value, int min, int max) {
        boolean valid = false;
        String output = "";
        System.out.println("Entrez votre " + value + " :");
        while (!valid) {
            output = sc.nextLine();
            if (output.length() >= min && output.length() <= max)
                valid = true;
            else
                System.out.println("Vous devez inserez un " + value
                        + " compris entre " + min + " et " + max
                        + " caractères");
        }
        return output;
    }

    private static String getNumInfo(String value, int min, int max) {
        boolean valid = false;
        int output = 0;
        System.out.println("Entrez votre " + value + " :");
        while (!valid) {
            output = sc.nextInt();
            if (output >= min && output <= max)
                valid = true;
            else
                System.out.println("Vous devez inserez un " + value
                        + " compris entre " + min + " et " + max
                        + " caractères");
        }
        return Integer.toString(output);
    }

    private static void printGames(String level) {
        System.out
                .println("Avez-vous gagné la partie? Tapez 4 pour oui, 5 pour non ");
        int res = sc.nextInt();
        if (res == 4) {
            switch (level) {
            case "facile":
                nbPartiesFinished[0]++;
                txReussite[0] = nbPartiesFinished[0] / nbParties[0] * 100;
                break;
            case "moyen":
                nbPartiesFinished[1]++;
                txReussite[1] = nbPartiesFinished[1] / nbParties[1] * 100;
                break;
            case "difficile":
                nbPartiesFinished[2]++;
                txReussite[2] = nbPartiesFinished[2] / nbParties[2] * 100;
                break;
            }
            System.out
                    .println("En combien de temps vous avez remplie la grille? Donnez la réponse en minutes");
            int time = sc.nextInt();
            switch (level) {
            case "facile":
                tpsReso[0] = (nbPartiesFinished[0] * tpsReso[0]) + time
                        / (nbPartiesFinished[0]);
                break;
            case "moyen":
                tpsReso[1] = (nbPartiesFinished[1] * tpsReso[1]) + time
                        / (nbPartiesFinished[1]);
                break;
            case "difficile":
                tpsReso[2] = (nbPartiesFinished[2] * tpsReso[2]) + time
                        / (nbPartiesFinished[2]);
                break;
            }
        } else {
            switch (level) {
            case "facile":
                txReussite[0] = nbPartiesFinished[0] - 1 / nbParties[0] * 100;
                break;
            case "moyen":
                txReussite[1] = nbPartiesFinished[1] - 1 / nbParties[1] * 100;
                break;
            case "difficile":
                txReussite[2] = nbPartiesFinished[2] - 1 / nbParties[2] * 100;
                break;
            }
        }
    }

    private static void printStatsLevel(String level, int i1, int i2, int i3,
            int i4) {
        System.out.println("------Statistiques niveau " + level + "-----");
        System.out.println("Nombre de parties non terminées: " + (i1 - i2));
        System.out.println("Nombre de parties gagnées: " + i2 + " "
                + "Temps de résolution moyen: " + i3);
        System.out.println("Nombre total de parties jouées: " + i1);
        System.out.println("Taux de réussite du joueur : " + i4);
    }
}


J'ai mis la plupart des variables hors du main en private static de fait ils sont initialisés au lancement du programme et pas a l'appel du main

Voilà, je ne garantis pas qu il fonctionne partout mais l'idée est là ...

Posté par
Riley
re : Sauvegarde d'informations sur java 10-02-15 à 15:42

Oui tu as raison j'ai essayé en mettant un numéro dans la question sur le temps et en effet il me les affiches toutes.
Il faut que je trouve le moyen d'empêcher ça.

Posté par
Riley
re : Sauvegarde d'informations sur java 10-02-15 à 16:31

Petite nouveauté alors j'ai mis le switch à chaque cas, maintenant il ne me répète plus chaque question, mais il s'arrête après avoir répondu à la première et ne m'affiche plus rien.

Posté par
Arowbaz
re : Sauvegarde d'informations sur java 10-02-15 à 17:09

ah mon avis tu as un problème comme je l ai dis avec :les scanners (next, nextLine, nextInt), les breaks ...

tu ferais mieux plutôt de regarder le fond et la base du programme avant de lui ajouter des nouveautés car quand on construit une maison sur des fondations en carton on sait ce qu'il arrive ...

Posté par
Riley
re : Sauvegarde d'informations sur java 11-02-15 à 11:15

Voilà, j'ai enlevé les scanner inutiles, par contre on m'a conseillé de faire des fonction, le problème c'est que je ne sais pas trop comment faire.

Sinon voilà mon code:
import java.util.Scanner;

public class sudokupart1 {





static Scanner sudoku = new Scanner (System.in);

public static void main(String[] args){

//initalisation variables
     int Sudoku = 0;// niveau de jeu     
     int nbrpartie_faciles = 1;// nombre de parties faciles jouées
     int nbrpartie_moyennes = 1;// nombre de parties moyennes jouées
     int nbrpartie_dificiles = 1;// nombre de parties dificiles jouées
     int nbrpartiefaciles_terminées = 1;// nombre de parties faciles gagnées
     int nbrpartiemoyennes_terminées = 1;// nombre de parties moyennes gagnées
     int nbrpartiedificiles_terminées = 1;// nombre de parties dificiles gagnées
     int tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// taux de réussite des parties de niveau facile
     int tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// taux de réussite des parties de niveau moyen
     int tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// taux de réussite des parties de niveau dificile
     int tempsreso_facile = 0;// temps de resolution d'une partie de niveau facile
     int tempsreso_moyen = 0;// temps de resolution d'une partie de niveau moyen
     int tempsreso_dificile = 0;// temps de resolution d'une partie de niveau dificile
     int tempsmoyreso_facile = tempsreso_facile/nbrpartiefaciles_terminées;//temps de resolution moyen d'une partie de niveau facile
     int tempsmoyreso_moyen = tempsreso_moyen/nbrpartiemoyennes_terminées;// temps de resolution moyen d'une partie de niveau moyen
     int tempsmoyreso_dificile = tempsreso_dificile/nbrpartiedificiles_terminées;// temps de resolution moyen d'une partie de niveau dificile
     int nbrpartieperdue = (nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles)-(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// nombre de parties perdues
     int nbrpartiegagnée = nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées;// nombre de parties gagnées
     int nbrpartiejouée = nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles;// nombre de parties jouées
     int tempsresomoy = (tempsmoyreso_facile+tempsmoyreso_moyen+tempsmoyreso_dificile)/(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// temps de resolution moyen
     String afficheur1 = null;
     String afficheur2 = null;
     String afficheur3 = null;
    
           //affichage message de bienvenue et enregistrement du nom, prénom, age

           System.out.println ("Bonjour, veuillez suivre les informations qui s'afficheront sur votre écran");//affichage message de bienvenue
                          
          int condition_nom = 0; //initialisation variables pour la condition sur la limite de caractères
          while (condition_nom == 0){
          
                                
                    
                                   System.out.print(" Entrez votre nom : ");
                    
                                     afficheur1 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                                    
                    
                                     if(afficheur1.length()<3){ // si le nom comporte moin de 3 caractères
                                        
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                          
                                         }
                                   else if (afficheur1.length()>256){ // si le nom comporte plus de 256 caractères
                                      
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                                        }
                                 else {condition_nom = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
                                          }  
                                      
                                        
                          
                              int condition_nom1 = 0;//initialisation variables pour la condition sur la limite de caractères
                              
                              while (condition_nom1 == 0){
    
                                                
                                        
                                                  System.out.print(" Entrez votre Prénom : ");
        
                                                    afficheur2 = sudoku.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                                                    
                                                    
                                                    if(afficheur2.length()<3){ // si le prénom comporte moin de 3 caractères
                                                    
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                      
                                                        }
                                                  else if (afficheur2.length()>256){ // si le prénom comporte plus de 256 caractères
                                                  
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                        
                                                                        }
                                                else {condition_nom1 = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
                                                      }  
        
        
                                          int condition_age = 0;
                                          
                                          while (condition_age == 0){
                                          
                                                            
        
                                                              System.out.print(" Entrez votre âge :");
        
                                                                 afficheur3 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur    
                                                                
                                                                                                                                                                                
                                                                 if(Integer.parseInt(afficheur3) < 10){ // si le nombre est inferieur à 10
                                                                     System.out.println("Vous devez inserez un nombre compris entre 10 et 90");
                                                                    condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                     }
                                                                  else if (Integer.parseInt(afficheur3) > 90){ // si le nombre est superieur à 90
                                                                     System.out.println("Vous devez inserez un nom compris entre 10 et 90");
                                                                     condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                     }
                                                                   else {condition_age = 1;} // quand la condition est remplie passage à 1 et sortie de la boucle
                                                                   }  
                            
                        
              
                      
                      
                String reponse="O";                    
              
               while (reponse.equals('O'));// quand la réponse égale à O alors lancement de la boucle
               {
              

                         System.out.println("Veuillez choisir un niveau de jeu:");
                          System.out.println (" -----------------------------------");              
                           System.out.println (" Entrez 1 pour Sudoku Debutant");
                   System.out.println (" Entrez 2 pour Sudoku Intermediaire");
                    System.out.println (" Entrez 3 pour Sudoku Expert");
                     System.out.println (" -----------------------------------");  
                    
                Sudoku = sudoku.nextInt();// extraction de la réponse
          
            
                    
             if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante
            
            
             int choix1 = 0;
            
                            nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
                    
                  System.out.println("Avez-vous gagné la partie?");                 
                                                                 
                    

                      System.out.print(" Tapez 4 pour oui ");
                      
                         System.out.print(" Tapez 5 pour non ");

                            choix1 = Integer.parseInt(sudoku.nextLine()); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                          
                          
                         
                         switch (choix1)
                         {
                         case 4 :// si le joueur a gagné la partie alors
                        
                        
                        
                                nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    
                                
                              tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite  
                                                                                 
               
                        
                        System.out.println("En combien de temps vous avez remplie la grille?");
                  
                        
                  
                      System.out.println("Donnez la réponse en minutes1");
        
                   String afficheur5 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                  
                     tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution
                    
                         case 5 :
                        tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;//sinon calcul du taux de reussite en ajoutant un echec
                          
                          default :
                          break;
                         }
            
          
            
               if(Sudoku ==2){// si le niveau choisi est égale à 2 alors lancement de la boucle corespondante
               
                              nbrpartie_moyennes++;
                   int choix2 = 0;
                                
                    System.out.println("Avez-vous gagné la partie?");
          
                      

                        System.out.print(" Tapez 4 pour oui ");
                        
                           System.out.print(" Tapez 5 pour non ");

                             choix2 = Integer.parseInt(sudoku.nextLine()); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                        
                             switch (choix2)
                             {
                                                         
                             case 4:// si le joueur a gagné la partie alors
                           
                                  nbrpartiemoyennes_terminées++;// incrémentation du nombre de parties moyennes gagnées                                  
                                                            
                                tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// calcul du taux de réussite
                                
            
           
                          System.out.println("En combien de temps vous avez remplie la grille?");
                            
                        
        
                    System.out.println("Donnez la réponse en minutes2");
                  
                 String afficheur7 = sudoku.nextLine();  //extraction du contenu de la dernière ligne tapée par l'utilisateur  
                
                   tempsreso_moyen = (nbrpartiemoyennes_terminées * tempsreso_moyen) + Integer.parseInt(afficheur7) / ( nbrpartiemoyennes_terminées);//calcul du temps de résolution
                  
                             case 5:

                        tauxreussite_moyen = nbrpartiemoyennes_terminées-1/nbrpartie_moyennes*100;//sinon calcul du taux de reussite en ajoutant un echec
             default :
             break;
             }
          
          
          
               if(Sudoku ==3){// si le niveau choisi est égale à 3 alors lancement de la boucle corespondante
               
               int choix3 = 0;
               
                              nbrpartie_dificiles++;// incrémentaion du nombre parties dificiles  
          
                            
                    System.out.println("Avez-vous gagné la partie?");
          
                      

                        System.out.print(" Tapez 4 pour oui ");  
                        
                           System.out.print(" Tapez 5 pour non ");
  
                             choix3 = Integer.parseInt (sudoku.nextLine());//extraction du contenu de la dernière ligne tapée par l'utilisateur
                          
                             switch (choix3)
                             {
                            
                             case 4:// si le joueur a gagné la partie alors
                           
                              nbrpartiedificiles_terminées++;// incrémentation du nombre de parties dificiles gagnées                                  
                                
                            tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// calcul du taux de réussite
                            
  
           
                      
                          System.out.println("En combien de temps vous avez remplie la grille?");
                              
                      
                  
                    System.out.println("Donnez la réponse en minutes3");
                
                 String afficheur9 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
        
                   tempsreso_dificile= (nbrpartiedificiles_terminées * tempsreso_dificile) + Integer.parseInt(afficheur9) / ( nbrpartiedificiles_terminées);//calcul du temps de résolution
              
                             case 5 :
                             tauxreussite_dificile = nbrpartiedificiles_terminées-1/nbrpartie_dificiles*100;//sinon calcul du taux de reussite en ajoutant un echec
                                    
                             default :
                             break;
            
                 }
          

          
             System.out.println("Voulez-vous insérer d'autres parties? (O/N)"); //extraction de la reponse
            
              
            
                 reponse = sudoku.nextLine();          
              
                             sudoku.close();    
                        
                    
                          

               } //et affichage des résultats des variables
              
             System.out.println("*****************************Statistiques Sudoku*****************************");
            
             System.out.println("-------Informations personnelles");
             System.out.println("Nom:"+" "+afficheur1+".");
             System.out.println("Prénom:"+""+afficheur2+".");
             System.out.println("Âge:"+""+afficheur3+"ans.");
            
            
             System.out.println("---------------------------Statistiques détaillées--------------------------");
            
             System.out.println("------Statistiques niveau facile ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_faciles-nbrpartiefaciles_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiefaciles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_facile));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_faciles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_facile);
            
             System.out.println("------Statistiques niveau moyen ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_moyennes-nbrpartiemoyennes_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiemoyennes_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_moyen));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_moyennes);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_moyen);
            
             System.out.println("------Statistiques niveau dificile ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_dificiles-nbrpartiedificiles_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiedificiles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_dificile));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_dificiles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_dificile);
            
            
             System.out.println("---------------------------Statistiques globales--------------------------");
            
             System.out.println("Nombre de parties perdues: "+nbrpartieperdue);
             System.out.println("Nombre de parties gagnées: "+(nbrpartiegagnée+" "+"Temps de résolution moyen: "+tempsresomoy));
             System.out.println("Nombre total de parties jouées: "+nbrpartiejouée);
             System.out.println("Taux de réussite du joueur : "+((nbrpartiegagnée)/(nbrpartiejouée)*100));
            
                         
                                      
            

            }

        }
         }
}
}

Posté par
Riley
re : Sauvegarde d'informations sur java 11-02-15 à 11:18

par contre maintenant ça me dit :

Bonjour, veuillez suivre les informations qui s'afficheront sur votre écran
Entrez votre nom : ggg
Entrez votre Prénom : ggg
Entrez votre âge :20
Veuillez choisir un niveau de jeu:
-----------------------------------
Entrez 1 pour Sudoku Debutant
Entrez 2 pour Sudoku Intermediaire
Entrez 3 pour Sudoku Expert
-----------------------------------
1
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at sudokupart1.main(sudokupart1.java:164)
Avez-vous gagné la partie?
Tapez 4 pour oui  Tapez 5 pour non

Posté par
Arowbaz
re : Sauvegarde d'informations sur java 11-02-15 à 14:02

méthode=fonction j'en ai fais plusieurs a la fin de mon code tu pourrais regarder c est utile

le message d erreur dit que tu as juste fais enter sans rien tapé et que donc c est pas un nombre, logique.
doit y avoir un next inutile qui traine

et il y a vraiment trop de variables, utilise les tableaux, c'est super simple a apprendre et après tu peux aller plus vite
( j ai encore gagné 50 lignes mais j ai pas montré comment car tu dois d abord bien savoir utiliser tableaux et fonctions)

Posté par
Riley
re : Sauvegarde d'informations sur java 11-02-15 à 14:55

Voilà une version revue, je suis en train de régler le dernier problème qui fait que le programme
me sort les stats alors que je veux insérer d'autres parties.

import java.util.Scanner;

public class sudokupart1 {





static Scanner sudoku = new Scanner (System.in);

public static void main(String[] args){

//initalisation variables
     int Sudoku = 0;// niveau de jeu
    
     int nbrpartie_faciles = 1;// nombre de parties faciles jouées
    
     int nbrpartie_moyennes = 1;// nombre de parties moyennes jouées
    
     int nbrpartie_dificiles = 1;// nombre de parties dificiles jouées
    
     int nbrpartiefaciles_terminées = 1;// nombre de parties faciles gagnées
    
     int nbrpartiemoyennes_terminées = 1;// nombre de parties moyennes gagnées
    
     int nbrpartiedificiles_terminées = 1;// nombre de parties dificiles gagnées
    
     int tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// taux de réussite des parties de niveau facile
    
     int tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// taux de réussite des parties de niveau moyen
    
     int tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// taux de réussite des parties de niveau dificile
    
     int tempsreso_facile = 0;// temps de resolution d'une partie de niveau facile
    
     int tempsreso_moyen = 0;// temps de resolution d'une partie de niveau moyen
    
     int tempsreso_dificile = 0;// temps de resolution d'une partie de niveau dificile
    
     int tempsmoyreso_facile = tempsreso_facile/nbrpartiefaciles_terminées;//temps de resolution moyen d'une partie de niveau facile
    
     int tempsmoyreso_moyen = tempsreso_moyen/nbrpartiemoyennes_terminées;// temps de resolution moyen d'une partie de niveau moyen
    
     int tempsmoyreso_dificile = tempsreso_dificile/nbrpartiedificiles_terminées;// temps de resolution moyen d'une partie de niveau dificile
    
     int nbrpartieperdue = (nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles)-(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// nombre de parties perdues
    
     int nbrpartiegagnée = nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées;// nombre de parties gagnées
    
     int nbrpartiejouée = nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles;// nombre de parties jouées
    
     int tempsresomoy = (tempsmoyreso_facile+tempsmoyreso_moyen+tempsmoyreso_dificile)/(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// temps de resolution moyen
    
     String afficheur1 = null;
    
     String afficheur2 = null;
    
     String afficheur3 = null;
    
           //affichage message de bienvenue et enregistrement du nom, prénom, age

           System.out.println ("Bonjour, veuillez suivre les informations qui s'afficheront sur votre écran");//affichage message de bienvenue
                          
          int condition_nom = 0; //initialisation variables pour la condition sur la limite de caractères
          
          while (condition_nom == 0){ //tant que la condition n'est pas egale à 1
          
                                
                    
                                   System.out.print(" Entrez votre nom : ");
                    
                                     afficheur1 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                                    
                    
                                     if(afficheur1.length()<3){ // si le nom comporte moin de 3 caractères
                                        
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                          
                                         }
                                   else if (afficheur1.length()>256){ // si le nom comporte plus de 256 caractères
                                      
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                                        }
                                 else {
                                 condition_nom = 1;
                                 } // quand la condition est remplie passage à 1 et sortie de la boucle
                                          }  
                                      
                                        
                          
                              int condition_nom1 = 0;//initialisation variables pour la condition sur la limite de caractères
                              
                              while (condition_nom1 == 0){ //tant que la condition n'est pas egale à 1
    
                                                
                                        
                                                  System.out.print(" Entrez votre Prénom : ");
        
                                                    afficheur2 = sudoku.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                                                    
                                                    
                                                    if(afficheur2.length()<3){ // si le prénom comporte moin de 3 caractères
                                                    
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                      
                                                        }
                                                  else if (afficheur2.length()>256){ // si le prénom comporte plus de 256 caractères
                                                  
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                        
                                                }
                                                else {
                                                 condition_nom1 = 1;
                                                 } // quand la condition est remplie passage à 1 et sortie de la boucle
                                                  
                                      }
        
        
                                          int condition_age = 0; // initalisation variable
                                          
                                          while (condition_age == 0){ //tant que la condition n'est pas egale à 1
                                          
                                                            
        
                                                              System.out.print(" Entrez votre âge :");
        
                                                                 afficheur3 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur    
                                                                
                                                                                                                                                                                
                                                                 if(Integer.parseInt(afficheur3) < 10){ // si le nombre est inferieur à 10
                                                                     System.out.println("Vous devez inserez un nombre compris entre 10 et 90");
                                                                    condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                     }
                                                                  else if (Integer.parseInt(afficheur3) > 90){ // si le nombre est superieur à 90
                                                                     System.out.println("Vous devez inserez un nom compris entre 10 et 90");
                                                                     condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                     }
                                                                   else {
                                                                    condition_age = 1;
                                                                    } // quand la condition est remplie passage à 1 et sortie de la boucle
                                                                   }  
                            
                        
              
                      
                      
                String reponse="O";                    
              
               while (reponse.equals('O'));// quand la réponse égale à O alors lancement de la boucle
               {
              

                   System.out.println("Veuillez choisir un niveau de jeu:");
                   System.out.println (" -----------------------------------");              
                   System.out.println (" Entrez 1 pour Sudoku Debutant");
                   System.out.println (" Entrez 2 pour Sudoku Intermediaire");
                   System.out.println (" Entrez 3 pour Sudoku Expert");
                   System.out.println (" -----------------------------------");  
                    
                Sudoku = sudoku.nextInt();// extraction de la réponse
          
            
                    
             if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante
            
            
             int choix1 = 0;
            
                            nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
                    
                  System.out.println("Avez-vous gagné la partie?");                 
                                                                 
                    

                      System.out.print(" Tapez 4 pour oui ");
                      
                         System.out.print(" Tapez 5 pour non ");

                            choix1 = sudoku.nextInt(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                            sudoku.nextLine();
                          
                          
                         
                         switch (choix1)
                         {
                         case 4 :// si le joueur a gagné la partie alors
                        
                        
                        
                                nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    
                                
                              tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite  
                                                                                 
               
                        
                        System.out.println("En combien de temps vous avez remplie la grille?");
                  
                        
                  
                      System.out.println("Donnez la réponse en minutes");
        
                   String afficheur5 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                  
                     tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution
                    
                     break;
                    
                         case 5 :
                        tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;//sinon calcul du taux de reussite en ajoutant un echec
                          
                          default :
                          break;
                         }
             }
            
          
            
               if(Sudoku ==2){// si le niveau choisi est égale à 2 alors lancement de la boucle corespondante
               
                              nbrpartie_moyennes++;
                   int choix2 = 0;
                                
                    System.out.println("Avez-vous gagné la partie?");
          
                      

                        System.out.print(" Tapez 4 pour oui ");
                        sudoku.nextLine();
                        
                           System.out.print(" Tapez 5 pour non ");

                             choix2 = sudoku.nextInt(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                        
                             sudoku.nextLine();
                            
                             switch (choix2)
                             {
                                                         
                             case 4:// si le joueur a gagné la partie alors
                           
                                  nbrpartiemoyennes_terminées++;// incrémentation du nombre de parties moyennes gagnées                                  
                                                            
                                tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// calcul du taux de réussite
                                
            
           
                          System.out.println("En combien de temps vous avez remplie la grille?");
                            
                        
        
                    System.out.println("Donnez la réponse en minutes");
                    sudoku.nextLine();
                  
                 String afficheur7 = sudoku.nextLine();  //extraction du contenu de la dernière ligne tapée par l'utilisateur  
                
                   tempsreso_moyen = (nbrpartiemoyennes_terminées * tempsreso_moyen) + Integer.parseInt(afficheur7) / ( nbrpartiemoyennes_terminées);//calcul du temps de résolution
                  
                   break;
                  
                             case 5:

                        tauxreussite_moyen = nbrpartiemoyennes_terminées-1/nbrpartie_moyennes*100;//sinon calcul du taux de reussite en ajoutant un echec
             default :
             break;
             }
               }
          
          
               if(Sudoku ==3){// si le niveau choisi est égale à 3 alors lancement de la boucle corespondante
               
               int choix3 = 0;
               
                              nbrpartie_dificiles++;// incrémentaion du nombre parties dificiles  
          
                            
                    System.out.println("Avez-vous gagné la partie?");
          
                      

                        System.out.print(" Tapez 4 pour oui ");  
                        
                           System.out.print(" Tapez 5 pour non ");
  
                             choix3 = sudoku.nextInt();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                          
                             sudoku.nextLine();
                            
                             switch (choix3)
                             {
                            
                             case 4:// si le joueur a gagné la partie alors
                           
                              nbrpartiedificiles_terminées++;// incrémentation du nombre de parties dificiles gagnées                                  
                                
                            tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// calcul du taux de réussite
                            
  
           
                      
                          System.out.println("En combien de temps vous avez remplie la grille?");
                              
                      
                  
                    System.out.println("Donnez la réponse en minutes3");
                
                 String afficheur9 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
        
                   tempsreso_dificile= (nbrpartiedificiles_terminées * tempsreso_dificile) + Integer.parseInt(afficheur9) / ( nbrpartiedificiles_terminées);//calcul du temps de résolution
                  
                   break;
              
                             case 5 :// si le joueur a perdu
                             tauxreussite_dificile = nbrpartiedificiles_terminées-1/nbrpartie_dificiles*100;//sinon calcul du taux de reussite en ajoutant un echec
                                    
                             default :
                             break;
            
                 }
          
               }
          
             System.out.println("Voulez-vous insérer d'autres parties? (O/N)");
            
              
            
                 reponse = sudoku.nextLine();  // extraction dernière ligne    
                
               }
              
                             sudoku.close();   // fermeture du scanner
                        
                    
                          

                // affichage des résultats et des variables
              
             System.out.println("*****************************Statistiques Sudoku*****************************");
            
             System.out.println("-------Informations personnelles");
             System.out.println("Nom:"+" "+afficheur1+".");
             System.out.println("Prénom:"+""+afficheur2+".");
             System.out.println("Âge:"+""+afficheur3+"ans.");
            
            
             System.out.println("---------------------------Statistiques détaillées--------------------------");
            
             System.out.println("------Statistiques niveau facile ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_faciles-nbrpartiefaciles_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiefaciles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_facile));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_faciles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_facile);
            
             System.out.println("------Statistiques niveau moyen ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_moyennes-nbrpartiemoyennes_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiemoyennes_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_moyen));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_moyennes);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_moyen);
            
             System.out.println("------Statistiques niveau dificile ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_dificiles-nbrpartiedificiles_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiedificiles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_dificile));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_dificiles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_dificile);
            
            
             System.out.println("---------------------------Statistiques globales--------------------------");
            
             System.out.println("Nombre de parties perdues: "+nbrpartieperdue);
             System.out.println("Nombre de parties gagnées: "+(nbrpartiegagnée+" "+"Temps de résolution moyen: "+tempsresomoy));
             System.out.println("Nombre total de parties jouées: "+nbrpartiejouée);
             System.out.println("Taux de réussite du joueur : "+((nbrpartiegagnée)/(nbrpartiejouée)*100));
            
                         
               }                     
            

            }

    

Posté par
Riley
re : Sauvegarde d'informations sur java 11-02-15 à 15:57

Voilà le programme, normalement il n'y a plus de bug.
Je vous remercie infiniment pour votre aide et les différents conseils que vous m'avez donnés.

import java.util.Scanner;

public class sudokupart1 {





static Scanner sudoku = new Scanner (System.in);

public static void main(String[] args){

//initalisation variables
     int Sudoku = 0;// niveau de jeu
    
     int nbrpartie_faciles = 1;// nombre de parties faciles jouées
    
     int nbrpartie_moyennes = 1;// nombre de parties moyennes jouées
    
     int nbrpartie_dificiles = 1;// nombre de parties dificiles jouées
    
     int nbrpartiefaciles_terminées = 1;// nombre de parties faciles gagnées
    
     int nbrpartiemoyennes_terminées = 1;// nombre de parties moyennes gagnées
    
     int nbrpartiedificiles_terminées = 1;// nombre de parties dificiles gagnées
    
     int tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// taux de réussite des parties de niveau facile
    
     int tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// taux de réussite des parties de niveau moyen
    
     int tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// taux de réussite des parties de niveau dificile
    
     int tempsreso_facile = 0;// temps de resolution d'une partie de niveau facile
    
     int tempsreso_moyen = 0;// temps de resolution d'une partie de niveau moyen
    
     int tempsreso_dificile = 0;// temps de resolution d'une partie de niveau dificile
    
     int tempsmoyreso_facile = tempsreso_facile/nbrpartiefaciles_terminées;//temps de resolution moyen d'une partie de niveau facile
    
     int tempsmoyreso_moyen = tempsreso_moyen/nbrpartiemoyennes_terminées;// temps de resolution moyen d'une partie de niveau moyen
    
     int tempsmoyreso_dificile = tempsreso_dificile/nbrpartiedificiles_terminées;// temps de resolution moyen d'une partie de niveau dificile
    
     int nbrpartieperdue = (nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles)-(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// nombre de parties perdues
    
     int nbrpartiegagnée = nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées;// nombre de parties gagnées
    
     int nbrpartiejouée = nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles;// nombre de parties jouées
    
     int tempsresomoy = (tempsmoyreso_facile+tempsmoyreso_moyen+tempsmoyreso_dificile)/(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// temps de resolution moyen
    
     String afficheur1 = null;
    
     String afficheur2 = null;
    
     String afficheur3 = null;
    
           //affichage message de bienvenue et enregistrement du nom, prénom, age

           System.out.println ("Bonjour, veuillez suivre les informations qui s'afficheront sur votre écran");//affichage message de bienvenue
                          
          int condition_nom = 0; //initialisation variables pour la condition sur la limite de caractères
          
          while (condition_nom == 0){ //tant que la condition n'est pas egale à 1
          
                                
                    
                                   System.out.print(" Entrez votre nom : ");
                    
                                     afficheur1 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                                    
                    
                                     if(afficheur1.length()<3){ // si le nom comporte moin de 3 caractères
                                        
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                          
                                         }
                                   else if (afficheur1.length()>256){ // si le nom comporte plus de 256 caractères
                                      
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                                        }
                                 else {
                                 condition_nom = 1;
                                 } // quand la condition est remplie passage à 1 et sortie de la boucle
                                          }  
                                      
                                        
                          
                              int condition_nom1 = 0;//initialisation variables pour la condition sur la limite de caractères
                              
                              while (condition_nom1 == 0){ //tant que la condition n'est pas egale à 1
    
                                                
                                        
                                                  System.out.print(" Entrez votre Prénom : ");
        
                                                    afficheur2 = sudoku.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                                                    
                                                    
                                                    if(afficheur2.length()<3){ // si le prénom comporte moin de 3 caractères
                                                    
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                      
                                                        }
                                                  else if (afficheur2.length()>256){ // si le prénom comporte plus de 256 caractères
                                                  
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                        
                                                }
                                                else {
                                                 condition_nom1 = 1;
                                                 } // quand la condition est remplie passage à 1 et sortie de la boucle
                                                  
                                      }
        
        
                                          int condition_age = 0; // initalisation variable
                                          
                                          while (condition_age == 0){ //tant que la condition n'est pas egale à 1
                                          
                                                            
        
                                                              System.out.print(" Entrez votre âge :");
        
                                                                 afficheur3 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur    
                                                                
                                                                                                                                                                                
                                                                 if(Integer.parseInt(afficheur3) < 10){ // si le nombre est inferieur à 10
                                                                     System.out.println("Vous devez inserez un nombre compris entre 10 et 90");
                                                                    condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                     }
                                                                  else if (Integer.parseInt(afficheur3) > 90){ // si le nombre est superieur à 90
                                                                     System.out.println("Vous devez inserez un nom compris entre 10 et 90");
                                                                     condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                     }
                                                                   else {
                                                                    condition_age = 1;
                                                                    } // quand la condition est remplie passage à 1 et sortie de la boucle
                                                                   }  
                            
                        
              
                      
                      
                String reponse="O";                    
              
               while (reponse.toLowerCase().equals("o"))// quand la réponse égale à O alors lancement de la boucle
               {
              

                   System.out.println("Veuillez choisir un niveau de jeu:");
                   System.out.println (" -----------------------------------");              
                   System.out.println (" Entrez 1 pour Sudoku Debutant");
                   System.out.println (" Entrez 2 pour Sudoku Intermediaire");
                   System.out.println (" Entrez 3 pour Sudoku Expert");
                   System.out.println (" -----------------------------------");  
                    
                Sudoku = sudoku.nextInt();// extraction de la réponse
          
            
                    
             if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante
            
            
             int choix1 = 0;
            
                            nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
                    
                  System.out.println("Avez-vous gagné la partie?");                 
                                                                 
                    

                      System.out.print(" Tapez 4 pour oui ");
                      
                         System.out.print(" Tapez 5 pour non ");

                            choix1 = sudoku.nextInt(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                            sudoku.nextLine();
                          
                          
                         
                         switch (choix1)
                         {
                         case 4 :// si le joueur a gagné la partie alors
                        
                        
                        
                                nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    
                                
                              tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite  
                                                                                 
               
                        
                        System.out.println("En combien de temps vous avez remplie la grille?");
                  
                        
                  
                      System.out.println("Donnez la réponse en minutes");
        
                   String afficheur5 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                  
                     tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution
                    
                     break;
                    
                         case 5 :
                        tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;//sinon calcul du taux de reussite en ajoutant un echec
                          
                          default :
                          break;
                         }
             }
            
          
            
               if(Sudoku ==2){// si le niveau choisi est égale à 2 alors lancement de la boucle corespondante
               
                              nbrpartie_moyennes++;
                   int choix2 = 0;
                                
                    System.out.println("Avez-vous gagné la partie?");
          
                      

                        System.out.print(" Tapez 4 pour oui ");
                        sudoku.nextLine();
                        
                           System.out.print(" Tapez 5 pour non ");

                             choix2 = sudoku.nextInt(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                        
                             sudoku.nextLine();
                            
                             switch (choix2)
                             {
                                                         
                             case 4:// si le joueur a gagné la partie alors
                           
                                  nbrpartiemoyennes_terminées++;// incrémentation du nombre de parties moyennes gagnées                                  
                                                            
                                tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// calcul du taux de réussite
                                
            
           
                          System.out.println("En combien de temps vous avez remplie la grille?");
                            
                        
        
                    System.out.println("Donnez la réponse en minutes");
                    sudoku.nextLine();
                  
                 String afficheur7 = sudoku.nextLine();  //extraction du contenu de la dernière ligne tapée par l'utilisateur  
                
                   tempsreso_moyen = (nbrpartiemoyennes_terminées * tempsreso_moyen) + Integer.parseInt(afficheur7) / ( nbrpartiemoyennes_terminées);//calcul du temps de résolution
                  
                   break;
                  
                             case 5:

                        tauxreussite_moyen = nbrpartiemoyennes_terminées-1/nbrpartie_moyennes*100;//sinon calcul du taux de reussite en ajoutant un echec
             default :
             break;
             }
               }
          
          
               if(Sudoku ==3){// si le niveau choisi est égale à 3 alors lancement de la boucle corespondante
               
               int choix3 = 0;
               
                              nbrpartie_dificiles++;// incrémentaion du nombre parties dificiles  
          
                            
                    System.out.println("Avez-vous gagné la partie?");
          
                      

                        System.out.print(" Tapez 4 pour oui ");  
                        
                           System.out.print(" Tapez 5 pour non ");
  
                             choix3 = sudoku.nextInt();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                          
                             sudoku.nextLine();
                            
                             switch (choix3)
                             {
                            
                             case 4:// si le joueur a gagné la partie alors
                           
                              nbrpartiedificiles_terminées++;// incrémentation du nombre de parties dificiles gagnées                                  
                                
                            tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// calcul du taux de réussite
                            
  
           
                      
                          System.out.println("En combien de temps vous avez remplie la grille?");
                              
                      
                  
                    System.out.println("Donnez la réponse en minutes");
                
                 String afficheur9 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
        
                   tempsreso_dificile= (nbrpartiedificiles_terminées * tempsreso_dificile) + Integer.parseInt(afficheur9) / ( nbrpartiedificiles_terminées);//calcul du temps de résolution
                  
                   break;
              
                             case 5 :// si le joueur a perdu
                             tauxreussite_dificile = nbrpartiedificiles_terminées-1/nbrpartie_dificiles*100;//sinon calcul du taux de reussite en ajoutant un echec
                                    
                             default :
                             break;
            
                 }
          
               }
          
             System.out.println("Voulez-vous insérer d'autres parties? (O/N)");
            
              
            
                 reponse = sudoku.nextLine();  // extraction dernière ligne    
                
               }
              
                             sudoku.close();   // fermeture du scanner
                        
                    
                          

                // affichage des résultats et des variables
              
             System.out.println("*****************************Statistiques Sudoku*****************************");
            
             System.out.println("-------Informations personnelles");
             System.out.println("Nom:"+" "+afficheur1+".");
             System.out.println("Prénom:"+""+afficheur2+".");
             System.out.println("Âge:"+""+afficheur3+"ans.");
            
            
             System.out.println("---------------------------Statistiques détaillées--------------------------");
            
             System.out.println("------Statistiques niveau facile ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_faciles-nbrpartiefaciles_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiefaciles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_facile));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_faciles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_facile);
            
             System.out.println("------Statistiques niveau moyen ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_moyennes-nbrpartiemoyennes_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiemoyennes_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_moyen));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_moyennes);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_moyen);
            
             System.out.println("------Statistiques niveau dificile ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_dificiles-nbrpartiedificiles_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiedificiles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_dificile));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_dificiles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_dificile);
            
            
             System.out.println("---------------------------Statistiques globales--------------------------");
            
             System.out.println("Nombre de parties perdues: "+nbrpartieperdue);
             System.out.println("Nombre de parties gagnées: "+(nbrpartiegagnée+" "+"Temps de résolution moyen: "+tempsresomoy));
             System.out.println("Nombre total de parties jouées: "+nbrpartiejouée);
             System.out.println("Taux de réussite du joueur : "+((nbrpartiegagnée)/(nbrpartiejouée)*100));
            
                         
               }                     
            

            }

Posté par
Riley
re : Sauvegarde d'informations sur java 11-02-15 à 16:18

Après une dernière correction:

import java.util.Scanner;

public class sudokupart1 {





static Scanner sudoku = new Scanner (System.in);

public static void main(String[] args){

//initalisation variables
     int Sudoku = 0;// niveau de jeu
    
     int nbrpartie_faciles = 1;// nombre de parties faciles jouées
    
     int nbrpartie_moyennes = 1;// nombre de parties moyennes jouées
    
     int nbrpartie_dificiles = 1;// nombre de parties dificiles jouées
    
     int nbrpartiefaciles_terminées = 1;// nombre de parties faciles gagnées
    
     int nbrpartiemoyennes_terminées = 1;// nombre de parties moyennes gagnées
    
     int nbrpartiedificiles_terminées = 1;// nombre de parties dificiles gagnées
    
     int tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// taux de réussite des parties de niveau facile
    
     int tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// taux de réussite des parties de niveau moyen
    
     int tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// taux de réussite des parties de niveau dificile
    
     int tempsreso_facile = 0;// temps de resolution d'une partie de niveau facile
    
     int tempsreso_moyen = 0;// temps de resolution d'une partie de niveau moyen
    
     int tempsreso_dificile = 0;// temps de resolution d'une partie de niveau dificile
    
     int tempsmoyreso_facile = tempsreso_facile/nbrpartiefaciles_terminées;//temps de resolution moyen d'une partie de niveau facile
    
     int tempsmoyreso_moyen = tempsreso_moyen/nbrpartiemoyennes_terminées;// temps de resolution moyen d'une partie de niveau moyen
    
     int tempsmoyreso_dificile = tempsreso_dificile/nbrpartiedificiles_terminées;// temps de resolution moyen d'une partie de niveau dificile
    
     int nbrpartieperdue = (nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles)-(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// nombre de parties perdues
    
     int nbrpartiegagnée = nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées;// nombre de parties gagnées
    
     int nbrpartiejouée = nbrpartie_faciles+nbrpartie_moyennes+nbrpartie_dificiles;// nombre de parties jouées
    
     int tempsresomoy = (tempsmoyreso_facile+tempsmoyreso_moyen+tempsmoyreso_dificile)/(nbrpartiefaciles_terminées+nbrpartiemoyennes_terminées+nbrpartiedificiles_terminées);// temps de resolution moyen
    
     String afficheur1 = null;
    
     String afficheur2 = null;
    
     String afficheur3 = null;
    
    
           //affichage message de bienvenue et enregistrement du nom, prénom, age

           System.out.println ("Bonjour, veuillez suivre les informations qui s'afficheront sur votre écran");//affichage message de bienvenue
                          
            int condition_nom = 0; //initialisation variables pour la condition sur la limite de caractères
          
             while (condition_nom == 0){ //tant que la condition n'est pas egale à 1
          
                                
                    
                                   System.out.print(" Entrez votre nom : ");
                    
                                     afficheur1 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur                                     
                    
                                       if(afficheur1.length()<3){ // si le nom comporte moin de 3 caractères
                                        
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                         condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                          
                                         }
                                      
                                   else if (afficheur1.length()>256)
                                  
                                   { // si le nom comporte plus de 256 caractères
                                      
                                         System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                        
                                       condition_nom = 0; // variable à zero tant que la condition n'est pas remplie
                                      
                                         }
                                      
                                 else {
                                
                                 condition_nom = 1;
                                
                                 } // quand la condition est remplie passage à 1 et sortie de la boucle
                                      
                                          }  
                                      
                                        
                          
                              int condition_nom1 = 0;//initialisation variables pour la condition sur la limite de caractères
                              
                                while (condition_nom1 == 0){ //tant que la condition n'est pas egale à 1
    
                                                
                                        
                                                  System.out.print(" Entrez votre Prénom : ");
        
                                                    afficheur2 = sudoku.nextLine(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                                                                                                         
                                                      if(afficheur2.length()<3){ // si le prénom comporte moin de 3 caractères
                                                    
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                        condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                      
                                                          }
                                                      
                                                  else if (afficheur2.length()>256)
                                                   
                                                  { // si le prénom comporte plus de 256 caractères
                                                  
                                                        System.out.println("Vous devez inserez un nom compris entre 3 et 256 caractères");
                                                        
                                                      condition_nom1 = 0; // variable à zero tant que la condition n'est pas remplie
                                                        
                                                }
                                                      
                                                else {
                                                
                                                 condition_nom1 = 1;
                                                
                                                 } // quand la condition est remplie passage à 1 et sortie de la boucle
                                                  
                                      }
        
        
                                          int condition_age = 0; // initalisation variable
                                          
                                            while (condition_age == 0){ //tant que la condition n'est pas egale à 1
                                          
                                                            
        
                                                              System.out.print(" Entrez votre âge :");
        
                                                                 afficheur3 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur    
                                                                                                                                                                                                                                                 
                                                                   if(Integer.parseInt(afficheur3) < 10){ // si le nombre est inferieur à 10
                                                                   
                                                                     System.out.println("Vous devez inserez un nombre compris entre 10 et 90");
                                                                    
                                                                     condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                    
                                                                       }
                                                                  
                                                                  else if (Integer.parseInt(afficheur3) > 90)
                                                                   
                                                                  { // si le nombre est superieur à 90
                                                                   
                                                                        System.out.println("Vous devez inserez un nom compris entre 10 et 90");
                                                                    
                                                                      condition_age = 0; // variable à zero tant que la condition n'est pas remplie
                                                                                     }
                                                                  
                                                                 else {
                                                                
                                                                 condition_age = 1;
                                                                   
                                                                    } // quand la condition est remplie passage à 1 et sortie de la boucle
                                                                  
                                                                   }  
                            
                        
              
                      
                      
               String reponse="O";                    
              
                   while (reponse.toLowerCase().equals("o"))// quand la réponse égale à O alors lancement de la boucle
                   
               {
              

                   System.out.println("Veuillez choisir un niveau de jeu:");
                   System.out.println (" -----------------------------------");              
                   System.out.println (" Entrez 1 pour Sudoku Debutant");
                   System.out.println (" Entrez 2 pour Sudoku Intermediaire");
                   System.out.println (" Entrez 3 pour Sudoku Expert");
                   System.out.println (" -----------------------------------");  
                    
                Sudoku = sudoku.nextInt();// extraction de la réponse
          
            
                    
             if(Sudoku ==1){// si le niveau choisi est égale à 1 alors lancement de la boucle corespondante
                         
             int choix1 = 0;
            
                     nbrpartie_faciles++; // incrémentaion du nombre parties faciles      
                    
                        System.out.println("Avez-vous gagné la partie?");                
                                                               
                        System.out.print(" Tapez 4 pour oui ");
                      
                        System.out.print(" Tapez 5 pour non ");

                            choix1 = sudoku.nextInt(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                            
                               sudoku.nextLine();                           
                                                    
                         switch (choix1)
                         
                         {
                         
                             case 4 :// si le joueur a gagné la partie alors                         
                                                 
                                nbrpartiefaciles_terminées++;// incrémentation du nombre de parties faciles gagnées                                    
                                
                              tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// calcul du taux de réussite                                                                                   
                                        
                        System.out.println("En combien de temps vous avez remplie la grille?");                    
                                          
                      System.out.println("Donnez la réponse en minutes");
        
                   String afficheur5 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                  
                   tempsreso_facile = (nbrpartiefaciles_terminées * tempsreso_facile) + Integer.parseInt(afficheur5) / ( nbrpartiefaciles_terminées); //calcul du temps de résolution
                    
                      break;
                    
                    case 5 :
                   
                       tauxreussite_facile = nbrpartiefaciles_terminées-1/nbrpartie_faciles*100;// calcul du taux de reussite en ajoutant un echec
                          
                          default :
                          
                          break;
                         }
                         
             }
            
          
            
               if(Sudoku ==2){// si le niveau choisi est égale à 2 alors lancement de la boucle corespondante                
                                                             
                   int choix2 = 0;
                  
                       nbrpartie_moyennes++;
                                
                          System.out.println("Avez-vous gagné la partie?");           
                      
                          System.out.print(" Tapez 4 pour oui ");                                                      
                        
                          System.out.print(" Tapez 5 pour non ");

                              choix2 = sudoku.nextInt(); //extraction du contenu de la dernière ligne tapée par l'utilisateur
                        
                                 sudoku.nextLine();
                            
                            switch (choix2)
                            
                            {
                                                         
                                case 4:// si le joueur a gagné la partie alors
                           
                                  nbrpartiemoyennes_terminées++;// incrémentation du nombre de parties moyennes gagnées                                  
                                                            
                                tauxreussite_moyen = nbrpartiemoyennes_terminées/nbrpartie_moyennes*100;// calcul du taux de réussite                                
                        
                          System.out.println("En combien de temps vous avez remplie la grille?");                             
                                 
                    System.out.println("Donnez la réponse en minutes");                     
                                       
                 String afficheur7 = sudoku.nextLine();  //extraction du contenu de la dernière ligne tapée par l'utilisateur  
                
                 tempsreso_moyen = (nbrpartiemoyennes_terminées * tempsreso_moyen) + Integer.parseInt(afficheur7) / ( nbrpartiemoyennes_terminées);//calcul du temps de résolution
                  
                    break;
                  
                       case 5:

                 tauxreussite_moyen = nbrpartiemoyennes_terminées-1/nbrpartie_moyennes*100;// calcul du taux de reussite en ajoutant un echec
                
                       default :
                       
                        break;
                      }
                            
               }
          
          
               if(Sudoku ==3){// si le niveau choisi est égale à 3 alors lancement de la boucle corespondante
               
                   int choix3 = 0;
               
                       nbrpartie_dificiles++;// incrémentaion du nombre parties dificiles             
                            
                          System.out.println("Avez-vous gagné la partie?");           
                      
                          System.out.print(" Tapez 4 pour oui ");  
                        
                          System.out.print(" Tapez 5 pour non ");
  
                              choix3 = sudoku.nextInt();//extraction du contenu de la dernière ligne tapée par l'utilisateur
                          
                                 sudoku.nextLine();
                            
                             switch (choix3)
                            
                             {
                            
                                case 4:// si le joueur a gagné la partie alors
                           
                              nbrpartiedificiles_terminées++;// incrémentation du nombre de parties dificiles gagnées                                  
                                
                            tauxreussite_dificile = nbrpartiedificiles_terminées/nbrpartie_dificiles*100;// calcul du taux de réussite                            
                                     
                          System.out.println("En combien de temps vous avez remplie la grille?");                               
                                         
                    System.out.println("Donnez la réponse en minutes");
                
                 String afficheur9 = sudoku.nextLine();//extraction du contenu de la dernière ligne tapée par l'utilisateur
        
                 tempsreso_dificile= (nbrpartiedificiles_terminées * tempsreso_dificile) + Integer.parseInt(afficheur9) / ( nbrpartiedificiles_terminées);//calcul du temps de résolution
                  
                    break;
              
                       case 5 :
                       
                         tauxreussite_dificile = nbrpartiedificiles_terminées-1/nbrpartie_dificiles*100;//sinon calcul du taux de reussite en ajoutant un echec
                                    
                             default :
                            
                             break;
            
                         }
          
               }
          
              
             System.out.println("Voulez-vous insérer d'autres parties? (O/N)");            
                                        
                 reponse = sudoku.nextLine();  // extraction dernière ligne    
                
               }
                  
                           sudoku.close();   // fermeture du scanner
                        
                    
                          

                // affichage des résultats et des variables
              
             System.out.println("*****************************Statistiques Sudoku*****************************");
            
             System.out.println("-------Informations personnelles");
             System.out.println("Nom:"+" "+afficheur1+".");
             System.out.println("Prénom:"+""+afficheur2+".");
             System.out.println("Âge:"+""+afficheur3+"ans.");
            
            
             System.out.println("---------------------------Statistiques détaillées--------------------------");
            
             System.out.println("------Statistiques niveau facile ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_faciles-nbrpartiefaciles_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiefaciles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_facile));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_faciles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_facile);
            
             System.out.println("------Statistiques niveau moyen ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_moyennes-nbrpartiemoyennes_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiemoyennes_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_moyen));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_moyennes);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_moyen);
            
             System.out.println("------Statistiques niveau dificile ");
             System.out.println("Nombre de parties non terminées: "+(nbrpartie_dificiles-nbrpartiedificiles_terminées));
             System.out.println("Nombre de parties gagnées: "+(nbrpartiedificiles_terminées+" "+"Temps de résolution moyen: "+tempsmoyreso_dificile));
             System.out.println("Nombre total de parties jouées: "+nbrpartie_dificiles);
             System.out.println("Taux de réussite du joueur : "+tauxreussite_dificile);
            
            
             System.out.println("---------------------------Statistiques globales--------------------------");
            
             System.out.println("Nombre de parties perdues: "+nbrpartieperdue);
             System.out.println("Nombre de parties gagnées: "+(nbrpartiegagnée+" "+"Temps de résolution moyen: "+tempsresomoy));
             System.out.println("Nombre total de parties jouées: "+nbrpartiejouée);
             System.out.println("Taux de réussite du joueur : "+((nbrpartiegagnée)/(nbrpartiejouée)*100));
            
                         
               }                     
            

            }

        

Posté par
Riley
re : Sauvegarde d'informations sur java 11-02-15 à 16:30

à chaque fois je dis que c'est terminé mais ça ne l'est pas, il y a encore des erreurs mais dans les calculs.

Posté par
Riley
re : Sauvegarde d'informations sur java 11-02-15 à 16:32

je comprend pas pourquoi il me met 0 pour chaque temps de reso moyen.

Posté par
Arowbaz
re : Sauvegarde d'informations sur java 11-02-15 à 17:49

c est difficle de lire comme ça, utilises vraiment des tableaux trop difficile à lire là, si tu veux prends juste le code que je t ai donné au dessus et ajoute tes modifications
mais stp fais un effort, il est pas souhaitable que des variables conditions soient des int, les booléens servent à ça.
On initialise pas une String à null, au pire a "", tu as des utilisations bizarres du scanner (genre un nextline en plein milieu alors qu on demande rien ...)

et pour info,      int tauxreussite_facile = nbrpartiefaciles_terminées/nbrpartie_faciles*100;// cette initialisation est inutile, autant mettre 100 directement c'est nettement plus clair ...

Posté par
Riley
re : Sauvegarde d'informations sur java 12-02-15 à 18:30

Ok, merci pour tes conseils je vais essayer de les appliquer, par contre je ne peux pas utiliser les tableaux, car je ne les ai pas encore étudiés.

1 2 3 +




Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !