IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Récupérer les valeurs d'une méthode void


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Récupérer les valeurs d'une méthode void
    Bonjour je débute en java et lors d'un projet je rencontre une difficulté.
    J'ai utilisé une méthode permutation (permet de trouver toutes les permutations possible d'un mot où chaque caractères est placé à des indices différents d'un tableau) que j'avais codé il y a longtemps en cours, étant étudiant, et j'ai besoin de récupérer les valeurs qu'elle "print".
    Or soucis c'est une void et je ne sais pas comment récupérer ces informations.
    Je met le code ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public static void permutation(String []str , int n){ 	
    		if(n==1){
    			for(String s : str){ // foreach 
    				System.out.print(s);
     
    			}
    			System.out.println();
    			return ;//fait quitter la fonction
    		}
    		for(int i=0;i<n;i++){ 
    			String vartemp=str[i];
    			str[i]=str[n-1]; 
    			str[n-1]=vartemp;
    			permutation(str , n-1); 
    			str[n-1]=str[i];
    			str[i]=vartemp;	
    		}
    	}

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Et bien tu stocke ces données dans une variable, par exemple de type List<String> au lieu de les afficher, et tu retourne cette variable au lieu de retourner void.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Tout d'abord merci pour la réponse rapide !
    Ensuite j'ai bien créé une variable du type que vous m'avez conseillé.
    Qu'en est-il du return si la condition du "if" n'est pas vérifiée?
    Car utilisant la récursivité, l'intérêt ici était de return "rien" ...

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par whereistheshop Voir le message
    Qu'en est-il du return si la condition du "if" n'est pas vérifiée?
    Tu dois combiner agréger tout tes résultat récursif dans ta valeur de retour, qui sera elle aussi agrégée au niveau d'au dessus, etc.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup je pense avoir compris.

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Pour préciser, tu as deux solutions pour résoudre ce genre de problématique.


    1. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      public Collection<String> permuter(..., int n) {
             Collection<String> result = new ...
             if ( condition ) {
                   for( ... ) {
       
                      result.add(...);
       
                   }
             }
             else {
                   /**...**/
                   result.addAll( permuter(..., n-1); 
                   /**...**/
             }
             return result;
      }

    2. Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      public Collection<String> permuter(..., int n) {
       
           Collection<String> result = new ...
       
           permuter(..., n, result);
       
           return result;
       
      }
       
      private void permuter(..., int n, Collection<String> collection) { 
             if ( condition ) {
                   for( ... ) {
       
                      collection.add(...);
       
                   }
             }
             else {
                   /**...**/
                   permuter(..., n-1, collection); 
                   /**...**/
             } 
      }
      Dans ce second cas, une seule et unique liste est créée.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. récupérer les valeurs d'une zone de liste à sélection multiple
    Par garsflo dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 09/07/2009, 21h19
  2. Récupérer les valeurs dans une fonction
    Par matmay dans le forum MATLAB
    Réponses: 3
    Dernier message: 04/05/2007, 16h50
  3. Réponses: 11
    Dernier message: 26/04/2007, 10h40
  4. Réponses: 4
    Dernier message: 13/11/2006, 17h49
  5. Récupérer les valeurs d'une collection de checkbox
    Par licorne dans le forum Langage
    Réponses: 4
    Dernier message: 27/10/2006, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo