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!
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 TXXX;, l'accesseur est publicTgetXXX(){} et le muttateur: publicvoidsetXXX(TnouvelleValeur){} ou T est le type de la variable XXX dans l'objet.
Par exemple:
pour le champs: privateStringnom;
on a l'accesseur: publicStringgetNom(){returnthis.nom;}
qu'on peux utiliser comme ceci: objet.getNom();
on a le muttateur: publicvoidsetNom(StringnewNom){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.
Merci de ta reponse tvere,en effet cela m'aide bien, je serais dorénavant comment utiliser ces ****** de setters =p
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.