这是我的代码:
public class FlightMap implements FlightMapInterface {
LinkedList<City> cityList = new LinkedList<City>();
LinkedList<City> nextCity = new LinkedList<City>();
/**
* Creates an empty FlightMap
*/
public FlightMap() {
}
public void loadFlightMap(String cityFileName, String flightFileName)
throws FileNotFoundException {
File cityList = new File(cityFileName);
File flightsTo = new File (flightFileName);
Scanner theCityFile = null;
Scanner theFlightFile = null;
Scanner theRequestFile = null;
ArrayList<String> cityStringList = new ArrayList<String>();
int counter = 0;
try {
theCityFile = new Scanner (cityList);
theFlightFile = new Scanner (flightsTo);
}
catch (FileNotFoundException e) {
System.out.println("No such file exists.");
}
while (theFlightFile.hasNextLine()) {
cityStringList.add((theFlightFile.nextLine()).replaceAll("\t", ""));
}
while (theCityFile.hasNextLine()) {
LinkedList<City> tempList = new LinkedList<City>();
String tempCity = theCityFile.nextLine();
nextCity.add(tempList); // ERROR
nextCity.get(counter).add(new City(tempCity)); // ERROR
for (int x = 0; x < cityStringList.size(); x++) {
if (cityStringList.get(x).charAt(0) == tempCity.charAt(0)) {
insertAdjacent(nextCity.get(counter).getFirst(), // ERROR
new City(cityStringList.get(x)).charAt(1) + ""); // ERROR
}
}
cityList.add(new City(tempCity)); // ERROR
counter++;
}
}
我的错误:
答案 0 :(得分:1)
错误的确切含义。
LinkedList<City> tempList = new LinkedList<City>();
String tempCity = theCityFile.nextLine();
nextCity.add(tempList);
应该是
String tempCity = theCityFile.nextLine();
nextCity.add(tempCity);
您试图将LinkedList
添加到另一个LinkedList
。您只能将City
类型的“节点”添加到您声明的LinkedList
。
答案 1 :(得分:1)
您不能add()
列出LinkedList<City>
的列表 - 其元素必须是City
类型,而不是类型List<City>
。您可以改用addAll
。然后,您尝试add
City
City
到List
,而不是City
- 显然Add
没有getFirst
方法。与charAt
和City
一样,您可以将List
个对象视为String
或{{1}} s。
答案 2 :(得分:0)
你正在尝试做一些没有意义的事情,所以你会遇到这些错误。
LinkedList类型中的方法add(City)不适用于参数(LinkedList)
您正在尝试将城市列表添加到城市列表中。
对于类型City
,方法add(City)未定义
您正在尝试将城市添加到城市(而不是城市列表,但您尚未定义此类方法。
对于City类型,未定义getFirst()方法 对于City
类型,方法charAt(int)未定义
您还没有定义这些方法,因此您无法调用它们。
答案 3 :(得分:0)
在此代码中:
LinkedList<City> tempList = new LinkedList<City>();
String tempCity = theCityFile.nextLine();
nextCity.add(tempList);
您正尝试在LinkedList<City>
列表中添加nextCity
,这是错误所述的内容。
答案 4 :(得分:0)
首先,nextCity的类型为LinkedList&lt; City&gt;所以你不能添加一个LinkedList:
nextCity.add(tempList);
改为使用:
nextCity.addAll(tempList);
同样的问题是:
nextCity.get(counter).add(new City(tempCity));
你正在进入城市并再次添加城市。