By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,617 Members | 1,605 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,617 IT Pros & Developers. It's quick & easy.

problem with my programme

100+
P: 132
Hello ,

please can any one help me for my this i don't know why didn't gave me my return true he juste return this :les magasins situés dans la ville projetd314.ListeMagasin@a401c2
why see my code
Expand|Select|Wrap|Line Numbers
  1. public interface IMagasin {
  2. public double getLatitude();
  3. public double getLongitude();
  4. public String getCode();
  5. public String getVille();
  6. public void setLatitude(double l);
  7. public void setLongitude(double lon);
  8. public void setCode(String string);
  9. public void setVille(String string);
  10. }
Expand|Select|Wrap|Line Numbers
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package projetd314;
  7. import java.sql.*;
  8. import java.sql.PreparedStatement;
  9. import java.lang.Math.*;
  10. import java.util.Vector;
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. public class Magasin {
  18.     static java.sql.Connection c=null;
  19. double latitude=0;
  20. double longitude=0;
  21. String codeville="";
  22. String ville="";
  23. public double getLatitude(){
  24.     return latitude;
  25. }
  26. public double getLongitude(){
  27.         return longitude;
  28.         }
  29. public String getCode(){
  30.     return codeville;
  31. }
  32. public String getVille(){
  33.     return ville;
  34. }
  35. public void setLatitude(double l){
  36.     latitude=l;
  37. }
  38. public void setLongitude(double lon){
  39.     longitude=lon;
  40. }
  41. public void setCode(String string){
  42.     codeville=string;
  43.  
  44. }
  45. public void setVille(String string){
  46.     ville=string;
  47. }
  48.  
  49.  
  50.     }
  51.  
Expand|Select|Wrap|Line Numbers
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package projetd314;
  7. import projetd314.IMagasin;
  8. import projetd314.ListeMagasin;
  9. import projetd314.ListeMagasinAdapter;
  10. import projetd314.Magasin;
  11. import java.sql.Connection;
  12. import java.sql.DriverManager;
  13. import java.sql.PreparedStatement;
  14. import java.sql.ResultSet;
  15. import java.sql.SQLException;
  16. import java.util.Vector;
  17.  
  18.  
  19.  
  20.  
  21. public class MagasinServices {
  22.     public  ListeMagasin listeMagasin=new ListeMagasin();
  23.     static java.sql.Connection c=null;
  24.     public static void etablirConnexion(){
  25.         String pilote="com.mysql.jdbc.Driver";
  26.         try{Class.forName(pilote).newInstance();}
  27.         catch(Exception e){System.out.println("echec pilote :"+e);
  28.         }
  29.         String url="jdbc:mysql://localhost:3306/boutiquegeographique";String user="root";String password="";
  30.         try{c=DriverManager.getConnection(url,user,password);
  31.  
  32.         }
  33.         catch(SQLException e){System.out.println("echec connection a la bdd :"+e);}
  34.  
  35.     }
  36.  
  37.         public  ListeMagasin listMagasinsVille(String nomville)
  38.         {
  39.                      double latitude;
  40.                    double l;
  41.                 if(Magasin.c==null) etablirConnexion();
  42.       try{
  43.                         PreparedStatement st=c.prepareStatement("select latitude,longitude,nomville from liste_magasins where nomville=?");
  44.                         st.setString(1, nomville);
  45.                         ResultSet rs=st.executeQuery();
  46.  
  47.                 while(rs.next())
  48.                 {
  49.                         Magasin m=new Magasin();
  50.                         m.setLatitude(rs.getDouble("latitude"));
  51.                         m.setLongitude(rs.getDouble("longitude"));
  52.                         m.setVille(rs.getString("nomville"));
  53.                         listeMagasin.addMagasin(m);
  54.                }
  55.           }catch(Exception e){System.out.println("erreur selection"+e);}
  56.            return  listeMagasin;
  57.     }
  58.  
  59.  
  60.  
  61. }
  62.  
Expand|Select|Wrap|Line Numbers
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package projetd314;
  7.  
  8. import java.util.Vector;
  9.  
  10. /**
  11.  *
  12.  * @author kamar
  13.  */
  14. public class ListeMagasinAdapter {
  15. public IMagasin[] liste;
  16. public ListeMagasinAdapter(ListeMagasin obj){
  17.    Vector<IMagasin>  l=obj.getListe();
  18.    liste =l.toArray(new IMagasin[l.size()]);
  19. }
  20. public IMagasin[] getListe(){
  21.     return liste;
  22. }
  23. public void setListe(IMagasin[] liste){
  24.     this.liste=liste;
  25. }
  26. }
Expand|Select|Wrap|Line Numbers
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package projetd314;
  7.  
  8. import java.util.Iterator;
  9. import java.util.Vector;
  10.  
  11.  
  12. public class ListeMagasin {
  13.     private Vector liste=new Vector();
  14.     public Magasin getMagasin(int i){
  15.         return (Magasin)liste.get(i);
  16.     }
  17.  
  18.     public Vector getListe(){
  19.         return liste;
  20.     }
  21.     public void setListe(Vector liste){
  22.         this.liste=liste;
  23.  
  24.     }
  25.     public void addMagasin(Magasin m){
  26.         int i;
  27.         for(i=0;i<liste.size();i++)
  28.         {
  29.             liste.add(m);
  30.                 return;
  31.  
  32.         }
  33.         liste.add(m);
  34.     }
  35.     public String listMagasinsVille(String nomville){
  36.  
  37.     Iterator  iterateur=liste.iterator();
  38.     String str="";
  39.     while(iterateur.hasNext())
  40.     {
  41.         Magasin ma=(Magasin)iterateur.next();
  42.         String v=ma.getVille();
  43.         if(nomville==v){
  44.             double lat=ma.getLatitude();
  45.             double lon=ma.getLongitude();
  46.             str+="Latitude:"+lat+"Longitude:"+lon+"\n";}
  47.     }
  48.     return str;
  49.     }
  50.  
  51. }
  52.  
Expand|Select|Wrap|Line Numbers
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package projetd314;
  7.  
  8.  
  9. public class Main {
  10.  
  11.     /**
  12.      * @param args the command line arguments
  13.      */
  14.     public static void main(String[] args) {
  15.         MagasinServices c=new MagasinServices();
  16.        System.out.println("les magasins situés dans la ville "+c.listMagasinsVille("Amiens"));
  17.     }
  18.  
  19. }
  20.  
thanks
Nov 23 '09 #1
Share this Question
Share on Google+
6 Replies


Expert 100+
P: 151
That's a lot of code for a small question!

Anyway, if you want a ListeMagasin instance to print nicely you need to give the class a toString() method. println() will use this to create the string to be printed.

Expand|Select|Wrap|Line Numbers
  1. public class ListeMagasin {
  2.  
  3.     // other stuff
  4.  
  5.     public String toString() {
  6.         // use a StringBuilder and loop over the Vector contents?
  7.         // or use the vector toString() method
  8.         // or etc
  9.         return "some string that describes the magasin list";
  10.     }
  11. }
  12.  
Why are using Vector rather than one of the other list implementations?
Nov 23 '09 #2

100+
P: 132
hello,

i want to call my method listMagasinsVille(String nomville) but the return this les magasins situés dans la ville projetd314.ListeMagasin@c51355

why please help me

thanks
Nov 23 '09 #3

Frinavale
Expert Mod 5K+
P: 9,731
Please re-read the suggestion that pbrockway2 posted.

You need to write a ToString() method for your ListeMagasin class. If you do not write a ToString() method for the class then the default ToString method is used. The Default ToString method returns you "projetd314.ListeMagasin@c51355" which doesn't make much sense.

Expand|Select|Wrap|Line Numbers
  1. public class ListeMagasin {
  2. //....Other Stuff .....//
  3. public String ToString(){
  4.    Iterator  iterateur=liste.iterator();
  5.    String str="";
  6.    while(iterateur.hasNext())
  7.    {
  8.          Magasin ma=(Magasin)iterateur.next();
  9.          String v=ma.getVille();
  10.          if(nomville==v){
  11.              double lat=ma.getLatitude();
  12.              double lon=ma.getLongitude();
  13.              str+="Latitude:"+lat.ToString()+" Longitude:"+lon.ToString()+"\n";}
  14.    }
  15.    return str;
  16. }
Then call the ToString Method:
Expand|Select|Wrap|Line Numbers
  1.  
  2. public class Main {
  3.  
  4.     /**
  5.      * @param args the command line arguments
  6.      */
  7.     public static void main(String[] args) {
  8.         MagasinServices c=new MagasinServices();
  9.        System.out.println("les magasins situés dans la ville "+c.listMagasinsVille("Amiens").ToString());
  10.     }
  11.  
  12. }
Nov 23 '09 #4

100+
P: 132
i put my method listMagasinsVille in class and ADD the method ToString but there somme body
Expand|Select|Wrap|Line Numbers
  1. { Iterator  iterateur=liste.iterator();
  2.     String str="";
  3.     while(iterateur.hasNext())
  4.     {
  5.         Magasin ma=(Magasin)iterateur.next();
  6.         String v=ma.getVille();
  7.         if(nomville==v){
  8.             double lat=ma.getLatitude();
  9.             double lon=ma.getLongitude();
  10.             str+="Latitude:"+lat+"Longitude:"+lon+"\n";}
  11.     }
  12.     return str;
  13.     }
CAN YOU TELL ME WHAT I PUT IN MY CLASS listmagasin

thank you for help
Nov 23 '09 #5

Expert 100+
P: 151
But note that toString() should start with a lower case "t". And the methods cannot be applied to primitive values. So one possible way of building up the string could be:

Expand|Select|Wrap|Line Numbers
  1. //str+="Latitude:"+lat.ToString()+" Longitude:"+lon.ToString()+"\n";
  2. str += "Latitude: "  + lat + " Longitude: " + lon + "\n";
  3.  
(as I think you had)

Also note that you can't really compare strings with ==. So "v.equals(nomville)" not "nomville==v".
Nov 23 '09 #6

100+
P: 132
thank you for your help
Nov 24 '09 #7

Post your reply

Sign in to post your reply or Sign up for a free account.