private static int assignSeat(int min, int max) {
        int choix; // contient la réponse à une boîte de dialog multiple
        int i, j;  // contient des compteurs

        String libre[]; // contient le tableau des sièges disponibles

        // compter le nombre de siège libre dans l'intervalle
        for(i = min, j = 0; i < max; i++)
            if(reservation[i] == false)
                j++;

        // initialiser le tableau de cette grandeur trouvée
        libre = new String[j];

        // créer une liste des numéros de sièges disponibles il faut
        // créer cette liste à l'envers pour une sortie plus logique
        i = j = 0;
        while(i < (max-min)) {
            if(reservation[min+i] == false) {
                libre[libre.length-j-1] = ""+(min+i+1);
                j++;
            }
            i++;
        }

        // demandé quel siège à réserver à partir de la liste
        choix = JOptionPane.showOptionDialog(
                null, "Quelle siège voulez-vous?", NOM,
                JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
                libre, libre[0]);

        // si l'utilisateur annule
        if(choix == -1) return -1;

        return Integer.parseInt(libre[choix]);
    }