From 9a112dde01ec6f457c1e32bb45d7126a913b0bcf Mon Sep 17 00:00:00 2001 From: Victor Zamanian Date: Mon, 13 Oct 2008 22:48:36 +0200 Subject: [PATCH] Simplified for-each loop; fixed some errors in A* hashtable loop. --- src/MySearcher.java | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/MySearcher.java b/src/MySearcher.java index 39b4369..bbb8ac3 100644 --- a/src/MySearcher.java +++ b/src/MySearcher.java @@ -2,12 +2,17 @@ import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; +import java.util.Hashtable; +import java.util.Enumeration; import org.jdom.*; /** * Beskrivning av klassen. */ public class MySearcher extends MapSearcher { + + Graph map; + /** * Skapar en ny MySearcher-instans. */ @@ -30,8 +35,7 @@ public class MySearcher extends MapSearcher { System.out.println(doc.getRootElement().toString()); cityElements = doc.getRootElement().getChildren(); // Iterate through cityElements - for (Iterator i = cityElements.iterator(); i.hasNext();) { - Element cityElement = i.next(); + for (Element cityElement: cityElements) { // Prints names of cities System.out.println(cityElement.getAttributeValue("id")); @@ -79,19 +83,21 @@ public class MySearcher extends MapSearcher { public String aStar (String from, String to, boolean fastest) { // skapa en tabell över hur långt det är från alla platser på // kartan till målet för sökningen - Hashtable targetDistTable = - new Hashtable(map.size()); - // skapa spara ned målnoden - GraphNode targetLocation = nodes.getNode(to); + Hashtable targetDistTable = + new Hashtable(map.size()); + // spara ned målnoden + GraphNode targetLocation = map.getNode(to); + GraphNode tempNode; + Enumeration e; // för alla noder - for (Enumeration e = nodes.getNodes(), - GraphNode node = (GraphNode) e.nextElement(); + for (e = map.getNodes(), + tempNode = (GraphNode) e.nextElement(); e.hasMoreElements(); // medan e har element - node = (GraphNode) e.nextElement()) { + tempNode = (GraphNode) e.nextElement()) { // spara avståndet till målnoden för varje nod - targetDistTable.put(node.getName(), - Math.hypot(targetLocation.getX()-node.getX(), - targetLocation.getY()-node.getY())); + targetDistTable.put(tempNode.getName(), + Math.hypot(targetLocation.getX()-tempNode.getX(), + targetLocation.getY()-tempNode.getY())); } /* * implementation av aStar. -- 2.11.4.GIT