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 :

Modifier une variable d'instance par une autre


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Points : 45
    Points
    45
    Par défaut Modifier une variable d'instance par une autre
    Bonjour,
    j'ai conçu un tableau de taille 4 contenant des objets "capital" de variables d'instances String suivantes "pays", "ville" .
    je souhaite modifier le nom d'une ville par une autre ville mais ma méthode "modifier" ne veut pas fonctionner.
    pourriez-vous m'aider à déterminer le hic?

    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
    class Capitale{ 
    	String ville; 
    	String pays; 
     
    	public Capitale(String v,String p){ 
    		this.ville=v; 
    		this.pays=p; 
    	} 
     
    	void affiche(){ 
    		Terminal.ecrireStringln("ville "+this.ville); 
    		Terminal.ecrireStringln("pays "+this.pays); 
    	} 
    }
     
    class Repertoire{ 
    	Capitale[]R; 
     
    	public Repertoire(int t){ 
    		R=new Capitale[t]; 
    	} 
     
    	Capitale[] modifier(Capitale C){
    		for(int i=0;i<this.R.length;i++){
    					if(C.ville.equals(R[i])){
    						C.ville=nouv;
    					}
    				}
    				return R;
    	}
    	void afficher(){ 
    		for(int i=0;i<this.R.length;i++){ 
    		R[i].affiche(); 
    		} 
    	} 
    } 
     
    public class capitalo{ 	
    public static void main(String[]args){ 
    	int taille=4;
    	Repertoire Rep=new Repertoire(taille); 
    	Rep.R[0]=new Capitale("nantes","france"); 
    	Rep.R[1]=new Capitale("rome","italie"); 
    	Rep.R[2]=new Capitale("barcelone","espagne"); 
    	Rep.R[3]=new Capitale("mons","belgique");
    	System.out.println("Modifier la ville de quel pays?");
    	String pays=in.nextInt();
    	String ville="";
    	System.out.println("Quelle est la nouvelle ville de "+pays+" ?");
    	String nouv=in.nextInt();
    	Rep.modifier(new Capitale(ville,pays, nouv))
    	}
    }
    }

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	Capitale[] modifier(Capitale C){
    		for(int i=0;i<this.R.length;i++){
    					if(C.ville.equals(R[i])){ // tu compare un ville un un objet "Capitale", ca risque pas de marcher
    						C.ville=nouv; // nouv n'existe pas
     					}
    				}
    				return R;
    	}

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Points : 45
    Points
    45
    Par défaut
    en effet, comme je manipule des objets, il fallait taper:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(C.ville.equals(R[i].ville)){
    "nouv" est le nom avec lequel je souhaite modifier la variable d'instance "ville", d'ou le:
    et ça aussi c'est faux, puisque l'objet Capitale ne contient que 2 variables d'instances et là je lui en envoie 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rep.modifier(new Capitale(ville,pays, nouv))
    mais comment gérer le paramètre "nouv" (comment l'envoyer à la méthode "modifier")?

    merci pour votre aide, je suis nouvelle et je galère un peu...

  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
    y a pas besoin de passer un new Capitale à modifier(). T'as juste à créer une méthode modifier qui prend en paramètre un nom de pays et le nouveau nom de la capitale.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 67
    Points : 45
    Points
    45
    Par défaut
    je viens de créer une méthode à 2 paramètres et ça fonctionne, youpi!!!
    ça a été laborieux mais j'y suis quand même arrivée

    merci pour ton aide tchize_

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/04/2015, 15h46
  2. Membre calcule par une dimension et pas par les autres
    Par nidhal fekih dans le forum SSAS
    Réponses: 0
    Dernier message: 13/11/2013, 17h19
  3. Réponses: 5
    Dernier message: 08/06/2011, 21h43
  4. [Smarty] Récuper une variable php à partir d'une variable Smarty
    Par SPKlls dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/04/2008, 17h40
  5. [Free Pascal] [2.2] Impossible d'assigner une variable de type T à une variable de type T
    Par Hibou57 dans le forum Free Pascal
    Réponses: 3
    Dernier message: 12/10/2007, 12h31

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