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 :

recuperer le contenu d'une variable


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nypahe
    Inscrit en
    Novembre 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 174
    Par défaut recuperer le contenu d'une variable
    Bonjour
    comment puis je recuperer m( en rouge) pour l'utilier dans l'autre methode.
    l'usage de la commande ne marche pas
    car m contient les clés et les valeurs
    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
    25
    26
    27
    28
    29
    class graph{
    	
    	public LinkedHashMap<Integer, ArrayList<String>> graphe(Integer i,
    			ArrayList<String> chaine) {
    
    		LinkedHashMap<Integer, ArrayList<String>> m = new LinkedHashMap<Integer, ArrayList<String>>();
    		LinkedHashMap<Integer, ArrayList<String>> antichaine = new LinkedHashMap<Integer, ArrayList<String>>();
    		StringBuffer buf = new StringBuffer();
    		
    		graph gr = new graph();
    		//i et chaine sont passé en parametre venant d'une autre methode
    		m.put(i, chaine);
    		
    		System.out.println("chaine: " + m);
    	
    		gr.antichaine(m);
    		return m;
    		
    	}
    	public void grap(Integer i,ArrayList<String> chaine){
    		graph gr = new graph();
    		
    		SortedMap<Integer,ArrayList<String>> sMap;
    		//comment recuperer m ???
    		
    		
    		
    	}
    }

  2. #2
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,

    tu ne peux pas la récupérer hors de la méthode graphe, puisqu'elle est locale à cette méthode.
    tu devrais plutôt faire

    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
     
    class graph{
     
    	LinkedHashMap<Integer, ArrayList<String>> m;
     
    	public LinkedHashMap<Integer, ArrayList<String>> graphe(Integer i,
    			ArrayList<String> chaine) {
     
    		m = new LinkedHashMap<Integer, ArrayList<String>>();
    		.....		
    	}
    	public void grap(Integer i,ArrayList<String> chaine){
    		graph gr = new graph();
     
    		SortedMap<Integer,ArrayList<String>> sMap;
    		//tu travaille normalement avec m
    		m.get(0);
    		....		
    	}
    }

  3. #3
    Membre confirmé Avatar de nypahe
    Inscrit en
    Novembre 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 174
    Par défaut
    Oui c'est une solution possible, mais qui ne resouds pas tout a fait mon mon problème.
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    	public void MaChaine(ArrayList<String> tableau) {
     
     
    		ArrayList<String> x = new ArrayList<String>(1);
    		ArrayList<String> chaine = new ArrayList<String>();
    		...
                   chaine.add("elt1");
                   chaine.add("elt2");
                   chaine.add("elt3");
                   chaine.add("elt4);
     
                   ....
     
    		graph gr = new graph();
                     gr.graphe(abs, chaine.get(abs));
    		abs++;
    }
    class graph{
    LinkedHashMap<Integer, ArrayList<String>> m ;
     
    public void graphe(Integer i,ArrayList<String> chaine){
    		LinkedHashMap<Integer, ArrayList<String>> antichaine = new LinkedHashMap<Integer, ArrayList<String>>();
     
    		graph gr = new graph();
     
    		m = new LinkedHashMap<Integer, ArrayList<String>>();
    		m.put(i, chaine);
    		System.out.println("m_graphe: "+m.get(0));
    		//System.out.println("chaine: " + m);
     
    		gr.antichaine(m);
     
    	}
    	public void grap(Integer i,ArrayList<String> chaine){
     
    		System.out.println("m_grap: "+ m.get(0));
     
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    m_graphe: [000, 001, 011, 111]
    m_graphe: null
    m_graphe: null
    Voici le resultat obtenu.
    ce que je constate : m_graphe s'affiche autant qu'il ya d'elts
    et quand j'utilise m.get(0) dans la methode grap je n'ai aucun resultat tout simplement parce au dernier passage m vaut null, donc pas d'affichage pour m_grap
    alors que je souhaite avoir la cle et les valeurs en utilisant m.get(0)

    Merci pour l'aide
    Desolé pour le rouge, je sais pas trop l'origine, car je n ai pas selectionné

  4. #4
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    j'ai rien compris dans ton code

    ta méthode graphe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    graphe(Integer i,ArrayList<String> chaine)
    attends un entier et un ArrayList, et toi tu lui passes un entier et un String
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ArrayList<String> chaine = new ArrayList<String>();
    graph gr = new graph();
    gr.graphe(abs, chaine.get(abs)); //chaine.get(abs) retourne un String

  5. #5
    Membre confirmé Avatar de nypahe
    Inscrit en
    Novembre 2006
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 174
    Par défaut
    oui tu as raison
    j'ai voulu juste illustrer cette partie, parce que le code est très long.
    Mon problème n'est pas ce niveau, je passe bien les ArrayList dans le code.
    qui vont bien dans le m.put(...)
    je voulais t'epargner du long code que j ai fais por calculer ma chaine
    Mon probleme c'est la recuperation de la totalité des information contenu dans ma variable m que je dois maminupler dans d'autre fonction faisant partir de la mm classe.

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    	public void MaChaine(ArrayList<String> tableau) {
    		
    		
    		ArrayList<String> x = new ArrayList<String>(1);
    		ArrayList<String> chaine = new ArrayList<String>();
    		
    		graph gr = new graph();
    	
    
    		char charElt = 'a';
    		char char_x = 'a';
    		String ch = tableau.get(0);
    
    		int cTab = 0;
    		Integer abs = 0;
    		while (!tableau.isEmpty()) {
    
    			x.removeAll(x);
    			ch = tableau.get(0);
    			x.add(0, ch);
    
    			chaine.add(tableau.get(0));
    
    			String elt_x = x.get(0);
    			int pos = 0;
    
    			for (int i = 1; i < tableau.size(); i++) {
    
    				String elt = tableau.get(i);
    				int taille_x = elt_x.length();
    				int tailleElt = elt.length();
    				int k = 1;
    				int tail = tailleElt;
    
    				char_x = elt_x.charAt(--taille_x);
    				charElt = elt.charAt(--tailleElt);
    
    				while (tailleElt != 0) {
    					try {
    						if (char_x <= charElt) {
    							char_x = elt_x.charAt(--taille_x);
    							charElt = elt.charAt(--tailleElt);
    							k++;
    
    						} else {
    
    							break;
    						}
    
    					} catch (IndexOutOfBoundsException e) {
    						e.printStackTrace();
    					}
    				}
    				if (k == tail) {
    					chaine.add(elt);
    					x.removeAll(x);
    					pos = i;
    					ch = tableau.get(pos);
    					x.add(0, ch);
    					elt_x = x.get(0);
    
    				} else {
    					x.removeAll(x);
    					ch = tableau.get(pos);
    					x.add(0, ch);
    					elt_x = x.get(0);
    				}
    
    			}
    
    			// System.out.println("Chaine[" + cTab + "]= "+ chaine);
    			 
    				gr.graphe(abs, chaine);
    				abs++;
    
    			for (int i = 0; i < tableau.size(); i++) {
    				for (int j = 0; j < chaine.size(); j++) {
    					if (tableau.get(i).equals(chaine.get(j))) {
    						tableau.remove(i);
    
    					}
    				}
    			}
    
    			cTab++;
    			// System.out.println();
    			// System.out.print("Tableau[" + cTab + "] = ");
    			// System.out.println(tableau);
    			String[] tab = new String[tableau.size()];
    					for (int i = 0; i < tableau.size(); i++) {
    				tab[i] = tableau.get(i);
    			}
    			tableau.removeAll(tableau);
    			chaine.removeAll(chaine);
    			x.removeAll(x);
    
    			for (int i = 0; i < tab.length; i++) {
    				tableau.add(tab[i]);
    			}
    			
    		}
    	}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Recuperer le contenu d'une variable
    Par flo31100 dans le forum Interfaces Graphiques
    Réponses: 27
    Dernier message: 19/04/2013, 09h32
  2. Recuperer le contenu d'une variable
    Par voyageurdumonde dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 12/09/2010, 05h46
  3. Réponses: 4
    Dernier message: 28/04/2008, 12h11
  4. Recuperer le contenu d'une variable
    Par Zouko dans le forum ASP.NET
    Réponses: 3
    Dernier message: 21/04/2008, 09h21
  5. Recuperer le contenu d'une variable
    Par widom dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/07/2007, 16h09

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