0

1 つの文字 (City) が他の文字と隣接していることを示すファイルを読み込む必要があります。それらはタブで区切られています。

Q が X に隣接していること、R が X に隣接していること (また)、P が R に隣接していることなどを示すにはどうすればよいですか?

Q   X
R   X
P   R
P   W
W   S
S   T
T   W
W   Y
Y   R
Y   Z

ファイルで読み取るコードのセグメント:

private ArrayList<City> cityList;
private ArrayList<City> cityFromList;
private ArrayList<City> cityToList;
Scanner theFlightFile = null;

    try {
        theFlightFile = new Scanner (new File("flightFile.txt"));
    }
    catch (Exception FileNotFoundException) {
        System.out.println(FileNotFoundException.getMessage());
    }
    while (theFlightFile.hasNext()) {
        String cityFrom = theFlightFile.next();
        String cityTo = theFlightFile.next();
        City cityA = new City(cityFrom);
        City cityB = new City(cityTo);

        cityToList.add(cityA);
        cityFromList.add(cityB);
        //testing input reading...
        System.out.println(cityFrom + " -----> " + cityTo);
    }

「aCity」に隣接するすべての都市の名前を表示するメソッド。@param aCity 隣接リストが必要な都市。

    //this is completely wrong, I know...
public void displayAdjacentCities(City aCity) {
    //for (aCity  : cityFromList) {
    //  for (City cityB : cityToList) {
    //      System.out.println(cityA + " is adjacent to " + cityB);
    //  }
    //}

}
4

2 に答える 2

1

HashMap<City, HashSet<City>>キーが都市オブジェクトであり、隣接する都市のセットを指す構造を使用できます。

于 2013-04-20T21:38:57.657 に答える