Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher le nom de la ville

POO, première sous partie.

Sujet résolu
    28 novembre 2008 à 23:12:17

    Salut à tous !

    Je suis en train de suivre le cour de Java, et j'en suis à la première partie sur la POO. Mais je n'arrive pas à afficher le nom de la ville :
    public class Ville {
    	private String nom_ville;
    	private String pays_ville;
    	private int habitants_ville;
    	//les variables de la ville
    	
    	/**
    	 * Constructeur d'initialisation
    	 * @param nom_ville
    	 *                    Nom de la Ville
    	 *  @param habitants_ville
    	 *                    Nombre d'habitants
    	 *  @param pays_ville
    	 *                    Nom du pays
    	 */
    	  //la création de la ville
    	  public Ville(String nom_ville, int habitants_ville, String pays_ville)
    	  {
    	          System.out.println("Création de la ville "+ nom_ville +" de "+ habitants_ville + " habitants se situant en "+ pays_ville +".");     
    	          nom_ville = nom_ville;
    	          pays_ville = pays_ville;
    	          habitants_ville = habitants_ville;
    	  }
    
    
    
    
    
    //ACCESSEURS
    
    
    
    	public String getNom()
    	{
    	        return nom_ville;
    	}
    	
    	public String getPays()
    	{
    	        return pays_ville;
    	}
    	
    	public int getHabitants()
    	{
    	        return habitants_ville;
    	}
    	//on renvoit les valeures
    	
    	
    //MUTATEURS
    
    
    	 public void setNom(String nom_ville)
    	 {
    	          nom_ville = nom_ville;
    	 }
    	 public void setPays(String pays_ville)
    	 {
    	          pays_ville = pays_ville;
    	 }
    	 public void setHabitants(int habitants_ville)
    	 {
    	          habitants_ville = habitants_ville;
    	 }
    
    
    }
    


    Et l'affichage :
    public class depart {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Ville ville = new Ville ("Gifunof", 120000, "France");
    		//on crée une ville
    		System.out.print("Ville : "+ ville.getNom() +".");;
    
    	}
    
    }
    


    Qui me donne :

    Citation : Mon programme en Java

    Création de la ville Gifunof de 120000 habitants se situant en France.
    Ville : null.



    Quelle est l'erreur ? Perso, je ne la voit pas enfin, je suis encore débutant en Java, et c'est pour ça que je m'en remet à vous :) !

    Merci d'avance, e bonne soirée :) !

    EDIT : Milles excuses, mais j'ai résolu mon problème en modifiant une variable :) !
    • Partager sur Facebook
    • Partager sur Twitter
      29 novembre 2008 à 9:55:45

      En fait ton problème n'est pas méchant, mais il mérite explication.

      tout se passe dans ton objet.
      Tu oubli d'affecter les variables que tu reçois dans les variables de ton objet.

      //la création de la ville
      	  public Ville(String nom_ville, int habitants_ville, String pays_ville)
      	  {
      	          System.out.println("Création de la ville "+ nom_ville +" de "+ habitants_ville + " habitants se situant en "+ pays_ville +".");     
      	          nom_ville = nom_ville;
      	          pays_ville = pays_ville;
      	          habitants_ville = habitants_ville;
      	  }
      


      Que fait-il ?

      Il dit: quand j'initialise les attributs de mon objets via le constructeur, je les récupères et je les affectes dans les variables que j'ai reçus. Tu comprendra que tu n'a à aucun moment initialisé les attributs de ta classe vu que tu ne fait d'affectation qu'aux variables que tu reçois.

      Par contre si tu lui spécifie bien que les valeurs que tu reçois doivent aller dans les attibuts de TA classe, tu les initialisera bien.

      comme en faisant ceci :
      //la création de la ville
      	  public Ville(String nom_ville, int habitants_ville, String pays_ville)
      	  {
      	          System.out.println("Création de la ville "+ nom_ville +" de "+ habitants_ville + " habitants se situant en "+ pays_ville +".");     
      	          this.nom_ville = nom_ville;
                       // J'initialise mon attribut d'objet avec la valeur envoyée
      	          this.pays_ville = pays_ville;
      	          this.habitants_ville = habitants_ville;
      	  }
      


      Il en va de même que pour tes get/set.
      Voici ton code avec une initialisation et une modification de tes get/set
      public class Ville {
      	private String nom_ville;
      	private String pays_ville;
      	private int habitants_ville;
      	//les variables de la ville
      	
      	/**
      	 * Constructeur d'initialisation
      	 * @param nom_ville
      	 *                    Nom de la Ville
      	 *  @param habitants_ville
      	 *                    Nombre d'habitants
      	 *  @param pays_ville
      	 *                    Nom du pays
      	 */
      	  //la création de la ville
      	  public Ville(String nom_ville, int habitants_ville, String pays_ville)
      	  {
      	          System.out.println("Création de la ville "+ nom_ville +" de "+ habitants_ville + " habitants se situant en "+ pays_ville +".");     
      	          this.nom_ville = nom_ville;
      	          this.pays_ville = pays_ville;
      	          this.habitants_ville = habitants_ville;
      	  }
      
      
      
      
      
      //ACCESSEURS
      
      
      
      	public String getNom()
      	{
      	        return this.nom_ville;
      	}
      	
      	public String getPays()
      	{
      	        return this.pays_ville;
      	}
      	
      	public int getHabitants()
      	{
      	        return this.habitants_ville;
      	}
      	//on renvoit les valeures
      	
      	
      //MUTATEURS
      
      
      	 public void setNom(String nom_ville)
      	 {
      		 this.nom_ville = nom_ville;
      	 }
      	 public void setPays(String pays_ville)
      	 {
      		 this.pays_ville = pays_ville;
      	 }
      	 public void setHabitants(int habitants_ville)
      	 {
      		 this.habitants_ville = habitants_ville;
      	 }
      
      
      }
      



      en espérant que mon explication t'aidera à mieux comprendre

      • Partager sur Facebook
      • Partager sur Twitter

      Afficher le nom de la ville

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown