couim Posted February 17, 2015 Share Posted February 17, 2015 Bonjour à tous ! Oui, je galère sur java... Vous commencez à le voir Bon alors aujourd'hui je veux faire un tableau d'objet Ville J'ai donc une classe Ville toute simple ici : import java.util.Scanner; public class Ville { private static int nbHab; private static int suPerficie; private static String nomVille; private static String nomPays; Scanner entree = new Scanner(System.in); public static void infoVille() { System.out.println(nomVille + " contient " + nbHab + " d'habitants "); System.out.println("La superficie : " + suPerficie ); } //mise par défaut des valeurs pour la ville : public Ville() { nbHab = 0; suPerficie = 0; nomVille = "inconnu"; nomPays = "inconnu"; } public static String getNomVille() { return nomVille; } public static String getNomPays() { return nomPays; } public static int getSuperficie() { return suPerficie; } public static int getHab() { return nbHab; } public static void setNomVille(String nmV) { nomVille=nmV; } public static void setNomPays(String nmP) { nomPays=nmP; } public static void setNombreHab(int hab) { nbHab=hab; } public static void setSuperficie(int sup) { suPerficie=sup; } } Et mon main ici : import java.util.Scanner; import java.util.ArrayList; public class principale { public static void main(String[] args) { //je déclare un tableau de type Ville ArrayList<Ville> tabVille; tabVille = new ArrayList<Ville>(); Scanner entree = new Scanner(System.in); String nomVille; Ville uneVille = new Ville(); for (int i=0;i<5; i++) { //déclaration d'une nouvelle ville System.out.print("entrez le nom de votre ville : "); nomVille=entree.nextLine(); uneVille.setNomVille(nomVille); uneVille.infoVille(); tabVille.add(uneVille); } for (int i = 0; i<tabVille.size(); i++) { uneVille=tabVille.get(i); uneVille.infoVille(); } } } Alors ya pas d'erreur de compilation, mais j'ai un problème : tous les éléments se mettent dans mon tableau, mais dans la deuxième boucle il m'affiche tout le temps la dernière ville... Quelqu'un a une idée ? mon tabVille.get(i) est-il buggé ? mon tabVille.add(uneVille) est il buggé ? Voici un exemple de sortie : entrez le nom de votre ville : Grenoble Grenoble contient 0 d'habitants La superficie : 0 entrez le nom de votre ville : Lyon Lyon contient 0 d'habitants La superficie : 0 entrez le nom de votre ville : Paris Paris contient 0 d'habitants La superficie : 0 entrez le nom de votre ville : Marseille Marseille contient 0 d'habitants La superficie : 0 entrez le nom de votre ville : Caen Caen contient 0 d'habitants La superficie : 0 Caen contient 0 d'habitants La superficie : 0 Caen contient 0 d'habitants La superficie : 0 Caen contient 0 d'habitants La superficie : 0 Caen contient 0 d'habitants La superficie : 0 Caen contient 0 d'habitants La superficie : 0 Il m'affiche toujours le résultat de Caen ! Link to comment Share on other sites More sharing options...
pioupiou41 Posted February 17, 2015 Share Posted February 17, 2015 Dis a ton prof de programmation que java c'est pour les vieux que maintenant le language qui déchire c'est le VALA !! ok je sors Link to comment Share on other sites More sharing options...
couim Posted February 17, 2015 Author Share Posted February 17, 2015 Je suis assez d'accord avec toi, sachant que Java c'est le fichtre !, jamais un VRAI programmeur fera du java, mais il préférera du C Mais bon là j'ai pas le choix Link to comment Share on other sites More sharing options...
pioupiou41 Posted February 17, 2015 Share Posted February 17, 2015 Bah ce qui serait bien c'est de faire ton programme de sorte qu'il lance un truc en C Link to comment Share on other sites More sharing options...
couim Posted February 19, 2015 Author Share Posted February 19, 2015 J'ai résolu le problème, en fait les variables de ma classe Ville ne doivent pas être en "static" 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now