Probleme pour retourner un tableau
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:
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:
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:
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.
Visualisation des donnees de tableau
Bonsoir,
Effectivement j'ai supprimer : System.out.println(monTableau) et je n'ai plus l'erreur
Il y a t-il un code pour savoir si c'est une ArrayList ou un Array ?
verification du type d'une variable
Code:
1 2
| String typeName = distance.getClass().getTypeName();
System.out.println("Object Type: " + typeName); |