2011-01-07 3 views
-1

aide s'il vous plaît. J'essaie d'écrire un programme pour calculer les distances entre les stations. Je veux obtenir une contribution des utilisateurs où ils sont et où ils veulent aller. c'est ce que j'ai jusqu'ici. je suis coincé. que dois-je faire ensuite?chemin court. calcul de distance. Java.

import java.util.Arrays; 

public class StationDist { 
    public static void main(String[] args) { 
     double[] stations = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0}; 
     //Set up the stations array of doubles here 

     double[][] distances = new double[stations.length][]; 
     for(int i=0; i < stations.length; i++) { 
      distances[i] = new double[i+1]; 
      for(int j=0; j<distances[i].length; j++) { 
       distances[i][j] = Math.abs(stations[i] - stations[j]); 
      } 
      //System.out.println(Arrays.toString(distances[i])); 
     } 
     System.out.println("Enter the destnation: "); 
     System.out.println("1 for london."); 
     System.out.println("2 for bristol"); 
     System.out.println("3 for oxford"); 
     System.out.println("4 for warwick"); 
     KeyboardInput in = new KeyboardInput(); 
     int val = in.readInteger(); 
     System.out.println(Arrays.toString(distances[val])); 
    } 

} 
+0

Les distances sont donc des lignes droites? Je suis un peu confus, car je pense que vous voudriez une structure graphique pour utiliser, par exemple, l'algorithme de Dijkstra, mais je ne suis pas sûr du contexte de votre devoir. –

Répondre

0

Je ne comprends pas vraiment votre entrée ici - à partir de votre tableau de stations, il semble que tout est en ligne droite. Cependant, pour faire des algorithmes de distance, vous voudrez utiliser quelque chose comme l'algorithme de Djikstra (qui calcule la distance la plus courte entre un nœud et tous les autres nœuds). Pour plus d'informations et quelques pseudo-codes, http://en.wikipedia.org/wiki/Djikstra%27s_algorithm