Bonsoir,
Je suis sous Eclipse 4.28.0
J'ai une ArrayList : distance que je veux transformer en Tableau : tableauDesDistances
Dans la boucle quand je print avec les index tout se passe bien
Par contre le return me donne ce code : [D@18a70f16
Le joint le code ci dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.gavaghan.geodesy.Ellipsoid; import org.gavaghan.geodesy.GeodeticCalculator; import org.gavaghan.geodesy.GlobalPosition; public class CalculDesDistances { Double distance = (double)0; ArrayList<Double> mesLatitudes; ArrayList<Double> mesLongitudes; ArrayList<Double> mesAltitudes; public ArrayList<Double> CalculDesDistances(ArrayList<Double>mesLatitudes, ArrayList<Double>mesLongitudes, ArrayList<Double>mesAltitudes) throws IOException { ArrayList<Double>tableauDesDistances = new ArrayList<Double>(); tableauDesDistances.add(distance); GeodeticCalculator geoCalc = new GeodeticCalculator(); Ellipsoid reference = Ellipsoid.WGS84; for(int i = 1 ; i < mesLatitudes.size(); i++) { Double lat1 = mesLatitudes.get(i-1); Double long1 = mesLongitudes.get(i-1); Double alt1 = mesAltitudes.get(i-1); Double lat2 = mesLatitudes.get(i); Double long2 = mesLongitudes.get(i); Double alt2 = mesAltitudes.get(i); GlobalPosition pointA = new GlobalPosition(lat1, long1, alt1); // Point A GlobalPosition pointB = new GlobalPosition(lat2, long2, alt2); // Point B distance = geoCalc.calculateGeodeticCurve(reference, pointB, pointA).getEllipsoidalDistance();// Distance between Point A and Point B tableauDesDistances.add(distance); } return tableauDesDistances; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public class ConversionListeEnTableau { public static double[] ConversionListeEnTableau(ArrayList<Double>laListe)throws IOException { //int a = laListe.size(); double[] monTableau; monTableau = new double[laListe.size()]; for (int i = 0 ; i < laListe.size();) { //double xi = laListe.get(i); //System.out.println(xi); monTableau[i]= laListe.get(i); System.out.println(i + " : - " + monTableau[i]); // Tous les index s'affiche correctement i ++; } System.out.println(monTableau); return monTableau; // Me retourne D@18a70f16 } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public class Main { public static void main(String[] args) throws IOException { String leFichier=""; String leGraphe = ""; Double denivellePositif; ChoixFichiers monFichier = new ChoixFichiers(""); leFichier = monFichier.ChoixFichiers(); NomDuGraphe monGraphe = new NomDuGraphe(""); leGraphe = monGraphe.NomDuGraphe(leFichier); ListeDesAltitudes altitude = new ListeDesAltitudes(); ArrayList<Double> altitudes = altitude.ListeDesAltitudes(leFichier); CalculDuDenivellePositif dPositif = new CalculDuDenivellePositif(); denivellePositif = dPositif.CalculDuDenivellePositif(altitudes); ListeDesLatitudes latitude = new ListeDesLatitudes(); ArrayList<Double>latitudes = latitude.ListeDesLatitudes(leFichier); ListeDesLongitudes longitude = new ListeDesLongitudes(); ArrayList<Double> longitudes = longitude.ListeDesLongitudes(leFichier); CalculDesDistances lesDistances = new CalculDesDistances(); ArrayList<Double> distance = lesDistances.CalculDesDistances(latitudes, longitudes, altitudes); double[] monTableauDeDistances = ConversionListeEnTableau.ConversionListeEnTableau(distance); System.out.println("La liste des distances : " +distance.toString()); int i ; double distanceTotale = 0; for (i = 0; i < distance.size(); ++i) { distanceTotale += distance.get(i); } System.out.println("La distance parcourue est : " + distanceTotale + "m"); //System.out.println(monTableauDeDistances); } }
Merci pour l'aide que vous voudrez bien m'apporter.
Partager