2012-02-12 26 views
0

我正在編寫Java代碼。我有一個看起來像文件:使用字符串中的第一個標記來創建單獨的數組列表,第二個標記將

  1. 總統和副總統==>弗雷德Flinestone(P)
  2. 美國參議院==>路易絲月亮(P)
  3. 命題#1 ==>是
  4. 修訂#1 ==>拒絕

我想不同的比賽(總統和副總統,美國參議院等)從「選民的選擇」分離(阿爾文·布恩...,路易絲一行一行地。我想使用第一個標記來創建一個數組列表,並將第二個標記添加到相應的數組列表中。

我希望我不會因爲我是一名新的Java程序員而對我有所幫助,但所有的幫助表示感謝。到目前爲止,我有。

public void go() { 
    getContest(); 
} 

void getContest() { 
    // reading file and call the addContest() method for each line/ 
    try { 
    String line = null; 
    while ((line = reader.readLine()) != null) { 
     addContest(line); 
    } 
    } 
} 

void addContest (String lineToParse) { 
    String[] tokens = lineToParse.split(">"); 

    // somehow this will add contests to 
    // its own array 0 is the first part of split 
    contestList.add(tokens[0]); 
} 

我希望我不要求太多,但如果我可以找出如何創建數組列表,我相信我可以把第二令牌相應的數組英寸謝謝!

+0

這功課嗎?如果是的話,請添加作業標籤 – 2012-02-12 01:42:57

+0

這不是作業 – dgm 2012-02-12 03:00:17

+0

我會接受任何幫助...即使它的網站,告訴我如何使用for循環與陣列..這是不適用於任何等級.. – dgm 2012-02-12 04:24:02

回答

0

看起來你可能會更好地使用地圖。第一個元素是鍵,第二個元素是值。

ArrayList<String> lines = new ArrayList<String>(); 
String line; 
while ((line = reader.readLine()) != null) { 
    lines.add(line); 
} 
HashMap<String, String> votes = new HashMap<String, String>(); 
for(String line: lines) { 
    String[] terms = line.split(">"); 
    votes.put(terms[0], terms[1]); 
} 
+0

非常感謝你!我明天會試試看。 – dgm 2012-02-13 05:10:33

+0

進出口仍在工作,我正在學習閱讀代碼以及..你可以告訴我..在上面的代碼中的「線」..它需要將是一個本地的字符串變量?日食希望我把它添加爲一個對象。 – dgm 2012-02-15 03:26:24

+0

已更新,以演示如何執行此操作。您也可以直接使用while循環並消除行變量。 – 2012-02-15 14:13:43

相關問題