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.