【发布时间】:2014-02-24 19:03:58
【问题描述】:
我将在底部列出我的代码,但这是交易。 我有一个带有处理方法的解析器类。此方法从网页中抓取数据。我想抓取每一行,将字符串拆分为一个数组并将值添加到一个对象,然后将该对象添加到一个 ArrayList。随着循环的迭代,每行抓取的新值都通过对象添加到 ArrayList 中。这段代码中的相关方法是public ArrayList process()
我收到以下编译错误:
构造函数 Flight(String) 未定义 标记“[”的语法错误,此标记后应为表达式
ArrayList 类型中的方法 add(String) 不适用于参数(Flight)
我在这里做错了什么,如果解决它怎么办?
public class HtmlParser {
public String url;
public String airline;
public static String lastFlight;
static ArrayList<String> capture = new ArrayList<String>();
public HtmlParser(Properties config) throws IOException{
url = config.getProperty("url");
airline = config.getProperty("airline");
print("Fetching.........%s" , url);
}
public ArrayList<String> process() throws IOException{
Document doc = Jsoup.connect(url).get();
Elements tableRow = doc.getElementsByTag("tr");
for(Element tr : tableRow){
if(tr.text().contains(airline)){
String delims = "[ ]+";
String singleRowArray[] = tr.text().split(delims);
Flight f = new Flight(singleRowArray[]);
capture.add(f);
}
}
return capture;
}
这是我的航班舱位。
public class Flight {
public Flight(String singleRowArray[]) {
String origin = singleRowArray[0];
String airline1 = singleRowArray[1];
String airline2 = singleRowArray[2];
String flightNo = singleRowArray[3];
String date = singleRowArray[4];
String ArrTime = singleRowArray[5];
String status = singleRowArray[6];
}
}
【问题讨论】:
-
这里的最佳答案在哪里?
标签: java arraylist parameter-passing