private static int session()  {
        int    resul[] = new int[CAN.length];    // tableau contenant les résultats de chaque personne
        double pourc[] = new double[CAN.length]; // tableau contenant les résultats sous un pourcentage

        int somme;       // contient le nombre total de vote
        int vote;        // contient le nombre de vote entré par l'utilisateur
        int gagnant = 0; // contient l'index du gagnant
        int i;           // contient un compteur
        int j;           // contient un compteur

        String resultat; // contient la chaîne de charactères contenant les résultats
        String input;    // contient la valeur renvoyé par getNumber()
        NumberFormat percent = NumberFormat.getPercentInstance();

        // pour chaque bureaux, demander le nombre de vote pour chaque personnes
        for(i = somme = 0; i < BUREAU; i++)
            for(j = 0; j < CAN.length; j++) {
                // demander le nombre de vote pour X bureau et Y personne
                // si l'utilisateur annule, le programme se termine
                input = getVote(i, j);
                if(input == ERR) return 1;
                vote = Integer.parseInt(input);

                // classer ces votes et les ajouter à la somme total de vote
                resul[j] += vote;
                somme    += vote;
            }

        // création des résultats
        resultat = "Résultat des élections municipales.\n\n";
        for(i = 0; i < CAN.length; i++) {
            // en même temps, déterminer la gagnant des élections
            if(resul[i] > resul[gagnant])
                gagnant = i;

            // en même temps, convertir le nombre de vote en pourcentage
            pourc[i] = (double)resul[i]/somme;

            // ajouter la ligne d'un député dans le résultat
            resultat += (CAN[i]+":     \t"+resul[i]+" "+(resul[i]>1?"votes":"vote")
                     +" ("+percent.format(pourc[i])+")\n");
        }

        // finaliser et afficher les résultats avec le gagnant
        resultat += ("\nLe gagnant des élections municipales est "
                    +CAN[gagnant]+" avec "+resul[gagnant]+" "
                    +(resul[gagnant]>1?"votes":"vote")+".");

        JOptionPane.showMessageDialog(null, new JTextArea(resultat));
        return 0;
    }