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 : 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
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()); } }
Partager