Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petite question

Sujet résolu
    25 mai 2011 à 11:51:36

    oYo, j'essaye d'apprendre java depuis hier en suivant les tutos de cysboy (Bon tutos sois dit en passant ;) )
    J'en suis a ce niveau:
    http://www.siteduzero.com/tutoriel-3-1 [...] te-objet.html

    donc voila j'ai suivit totalement le tutorial et me suis demander pk pas faire en sorte que l'utilisateur puisse créer une 3eme ville, je me suis lancé et j'ai ecrit ce code a la suite de mon main:
    System.out.println("Voulez vous créer une nouvelle ville? O/N");
    		Scanner sc = new Scanner(System.in);
    		reponse = sc.nextLine().charAt(0);
    		
    		if(reponse=='O')
    		{
    			Scanner sc1 = new Scanner(System.in);
    			Scanner sc2 = new Scanner(System.in);
    			Scanner sc3 = new Scanner(System.in);
    			Ville v3 = new Ville("NouvelleVille",100000,"PaysInconu");
    			System.out.println("Choisissez un nom de ville:");
    			//  ????= sc1.nextLine();
    			System.out.println("Combien y a t-il d'habitants dans "+v3.getNom() + "?");
    			// ????= sc2.nextLine();
    			System.out.println(v3.getNom() + " viens de quel pays deja? ");
    			// ????= sc3.nextLine();
    			System.out.println("Félicitation, vous venez de créer " +v3.getNom()+ ", une ville de " +v3.getNombreHabitant() +" Habitants, qui se situe en " +v3.getNomPays()  );
    			System.out.println("Il y a maintenant " + Ville.nbreVille + "villes qui ont été créé" );
    		}
    		
    		else
    		{
    			System.out.println("Goodbye");
    		}
    


    Malheureusement je ne sais pas quoi écrire a la place des ???? lignes 12,14,16
    J'imagine que cela a un rapport avec Muttateurs mais aprés avoir essayé de maintes manieres je me suis résigné... x)
    Si quelqu'un aurait Une solution je pense que ca m'aiderais dans la compréhension de Java et des langages Objets, Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      25 mai 2011 à 13:24:41

      Utilises les "Muttateurs" comme suit:

      System.out.println("Voulez vous créer une nouvelle ville? O/N");
      		Scanner sc = new Scanner(System.in);
      		reponse = sc.nextLine().charAt(0);
      		
      		if(reponse=='O')
      		{
      			Scanner sc1 = new Scanner(System.in);
      			Scanner sc2 = new Scanner(System.in);
      			Scanner sc3 = new Scanner(System.in);
      			Ville v3 = new Ville("NouvelleVille",100000,"PaysInconu");
      			System.out.println("Choisissez un nom de ville:");
      			v3.setNom(sc1.nextLine());
      			System.out.println("Combien y a t-il d'habitants dans "+v3.getNom() + "?");
      			v3.setNombreHabitant(sc2.nextLine());
      			System.out.println(v3.getNom() + " viens de quel pays deja? ");
      			v3.setNomPays(sc3.nextLine());
      			System.out.println("Félicitation, vous venez de créer " +v3.getNom()+ ", une ville de " +v3.getNombreHabitant() +" Habitants, qui se situe en " +v3.getNomPays()  );
      			System.out.println("Il y a maintenant " + Ville.nbreVille + "villes qui ont été créé" );
      		}
      		
      		else
      		{
      			System.out.println("Goodbye");
      		}
      


      Pour modifier la valeur d'un champ d'un objet, utilise les méthodes qui correspondent au champs. Par convention, pour le champ T XXX;, l'accesseur est public T getXXX(){} et le muttateur: public void setXXX(T nouvelleValeur){} ou T est le type de la variable XXX dans l'objet.

      Par exemple:
      pour le champs: private String nom;
      on a l'accesseur: public String getNom(){return this.nom;}
      qu'on peux utiliser comme ceci: objet.getNom();
      on a le muttateur: public void setNom(String newNom){this.nom=newNom;}
      qu'on peux utiliser comme ceci: objet.setNom("Le nouveau nom");

      En espérant que cela puisse t'aider, il est toutefois possible que des erreurs subsistent dans ma réponse.
      • Partager sur Facebook
      • Partager sur Twitter
        25 mai 2011 à 14:14:27

        Merci de ta reponse tvere,en effet cela m'aide bien, je serais dorénavant comment utiliser ces ****** de setters =p

        • Partager sur Facebook
        • Partager sur Twitter

        Petite question

        × 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