Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème appel méthode

Sujet résolu
    26 juillet 2015 à 18:20:34

    Salut,

    je suis le cours de Java, j'en suis à ma première classe (https://openclassrooms.com/courses/apprenez-a-programmer-en-java/votre-premiere-classe) et je coince sur un truc.

    J'ai bien compris le principe mais je rencontre un souci : lorsque j'appelle une méthode située dans ma classe Ville. Il n'y a pas d'erreur mais il n'y a rien de retourné dans la console (pour decrisToi et comparer par exemple).

    Ma classe main :

    public class Poo1 {
    
    	public static void main(String[] args) {
    		Ville ville1 = new Ville("Paris", 123456789, "France");
    		Ville ville2 = new Ville("Amblainville", 1500, "France");
    		ville1.decrisToi();
    		ville1.comparer(ville2);
    	}
    
    }

    Ma classe Ville :

    public class Ville {
    	private String nomVille;
    	private String nomPays;
    	private int nbreHabitants;
    	private char categorie;
    public String getNom()
    	{
    		return nomVille;
    	}
    	
    	public String getNomPays()
    	  {
    	    return nomPays;
    	  }
    	
    	public int getNombreHabitants()
    	  {
    	    return nbreHabitants;
    	  }
    	
    	public char getCategorie()
    	  {
    	    return categorie;
    	  } 
    private void setCategorie() {
    		  
    		    int bornesSuperieures[] = {0, 1000, 10000, 100000, 500000, 1000000, 5000000, 10000000};
    		    char categories[] = {'?', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
    
    		    int i = 0;
    		    while (i < bornesSuperieures.length && this.nbreHabitants > bornesSuperieures[i])
    		      i++;
    
    		    this.categorie = categories[i];
    		  }
    	  
    	public String decrisToi()
    	{
    	    return "\t"+this.nomVille+" est une ville de "+this.nomPays+ ", elle comporte : "+this.nbreHabitants+" habitant(s) => elle est donc de catégorie : "+this.categorie;
    	}
    
    	public String comparer(Ville villeComparée)
    	{
    	    String str = new String();
    
    	    if (villeComparée.getNombreHabitants() > this.nbreHabitants)
    	      str = villeComparée.getNom()+" est une ville plus peuplée que "+this.nomVille;
    	     
    	    else
    	      str = this.nomVille+" est une ville plus peuplée que "+villeComparée.getNom();
    	     
    	    return str;
    	}
    	
    	//CONSTRUCTEURS
    	public Ville(){
    		//System.out.println("Création d'une ville !");
    		nomVille = "Inconnu";
    		nomPays = "Inconnu";
    		nbreHabitants = 0;
    	}
    	public Ville(String pNom, int pNbre, String pPays)
    	{
    		//System.out.println("Création de la ville avec des paramètres !");
    	    nomVille = pNom;
    	    nomPays = pPays;
    	    nbreHabitants = pNbre;
    	}
    }
    
    

    Je crois que je vous ai mis ce qui était nécessaire.

    Merci,


    -
    Edité par Jey10 26 juillet 2015 à 18:22:39

    • Partager sur Facebook
    • Partager sur Twitter
    Apprenti Ingénieur Systèmes et Réseaux
      26 juillet 2015 à 18:33:21

      Salut,

      C'est normal, tu ne fais que retourner une valeur et tu n'en fais rien.

      Pour que quelque chose apparaisse il faut soit que tu fasse un SOP à la place du return soit que tu fasse System.out.println(ville1.decrisToi()) dans ta main pour écrire ce que la méthode retourne. Tu peux aussi mettre cette description dans une variable et ensuite la SOP si tu dois la réutiliser après.

      Voilà voilà, bonne soirée !

      -
      Edité par Etoile Filante 26 juillet 2015 à 18:36:26

      • Partager sur Facebook
      • Partager sur Twitter
      "Working on my five-year plan. Just need to choose a font"- Chuck Bartowski
        27 juillet 2015 à 13:54:07

        Ah d'accord merci. C'est étrange j'aurais cru que le return était affiché dans la console.

        • Partager sur Facebook
        • Partager sur Twitter
        Apprenti Ingénieur Systèmes et Réseaux

        Problème appel méthode

        × 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