distance entre 2 points avec Point2D
Bonjour ,
je voudrais utiliser la methode distance(double x1,double y1,double x2,double y2) dans ma classe mais je n'y arrive pas il me met l'erreur :
C:\cours\informatique\L3 info\algo\projet 2\Projet2.java:90: cannot find symbol
symbol : method distance(double,double,double,double)
location: class java.awt.geom.Point2D.Double[]
System.out.println("distance Ny-seattle : "+positions.distance(positions[16].getX(),positions[16].getY(),positions[44].getX(),positions[44].getY()));
^
1 error
voici mon code :
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| /* Projet2 19 déc. 2005 07:29:25 */
/**
*
*/
import java.awt.geom.Point2D;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;
import java.lang.Object;
public class Projet2 {
// Lecture du graphe dans un tableau de Point2D.Double : ce n'est pas indispensable d'utiliser les Point2D.Double dans ce projet ...
private static Point2D.Double [] positions;
/**
* Lecture du fichier "nomFichier" dans le répertoire courant. Résultat dans l'attribut privé "positions"
* @param nomFichier
* @throws IOException
*/
private void getFichier(String nomFichier) throws IOException {
FileReader fichier = new FileReader(nomFichier);
StreamTokenizer entree = new StreamTokenizer(fichier);
String graphName;
int graphSize;
graphSize=-1;
////////////////////////////////////////////////////////////////////////////////////////
// LECTURE DU PREAMBULE
while(entree.nextToken() != StreamTokenizer.TT_EOF) {
// RETROUVER LE NOM
if ((entree.ttype==StreamTokenizer.TT_WORD) && (entree.sval.equals("NAME"))) {
if (entree.nextToken()== StreamTokenizer.TT_EOF) throw new IOException("erreur de format");// ':'
if (entree.nextToken()== StreamTokenizer.TT_EOF) throw new IOException("erreur de format");// 'nom'
if (entree.ttype!=StreamTokenizer.TT_WORD) throw new IOException("erreur de format");
graphName=entree.sval;
System.out.println("Nom du graphe : "+graphName);
}
// RETROUVER LA DIMENSION
if ((entree.ttype==StreamTokenizer.TT_WORD) && (entree.sval.equals("DIMENSION"))) {
if (entree.nextToken()== StreamTokenizer.TT_EOF) throw new IOException("erreur de format");// ':'
if (entree.nextToken()== StreamTokenizer.TT_EOF) throw new IOException("erreur de format");// 'dimension'
if (entree.ttype!=StreamTokenizer.TT_NUMBER) throw new IOException("erreur de format");
graphSize=(int) entree.nval;
System.out.println("Nombre de noeuds : "+graphSize);
}
// FIN DE PREAMBULE
if ((entree.ttype==StreamTokenizer.TT_WORD) && (entree.sval.equals("SECTION"))) break;
} // while
if (graphSize==-1) throw new IOException("erreur de format");
////////////////////////////////////////////////////////////////////////////////////////
// LECTURE DES DONNEES
positions=new Point2D.Double[graphSize+1]; // +1 : les points commencent à l'indice 1 et non 0 ...
int indice;
double x,y;
while(entree.nextToken() != StreamTokenizer.TT_EOF && entree.ttype==StreamTokenizer.TT_NUMBER) {
indice=(int) entree.nval;
if (entree.nextToken()!=StreamTokenizer.TT_NUMBER) throw new IOException("erreur de format");
x=entree.nval;
if (entree.nextToken()!=StreamTokenizer.TT_NUMBER) throw new IOException("erreur de format");
y=entree.nval;
positions[indice]=new Point2D.Double(x,y);
System.out.println("Position "+indice+" : "+positions[indice]);
}
fichier.close();
}
/**
* @param args
*/
public static void main(String[] args) {
Projet2 p=new Projet2();
System.out.println("**********************");
System.out.println("Lecture du graphe");
System.out.println("**********************");
try {
p.getFichier("att48.tsp/att48.tsp");
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("New York position 16 Xi :"+positions[16].getX()+" Yi : "+positions[16].getY());
[color=darkred]System.out.println("distance Ny-seattle : "+positions.distance(positions[16].getX(),positions[16].getY(),positions[44].getX(),positions[44].getY()));[/color]
System.out.println("Seattle position 44 Xj :"+positions[44].getX()+" Yj : "+positions[44].getY());
}
} |