2013-03-26 57 views
-2

我需要你的幫助來提示我的代碼出錯了。其實,我想要的是使用文檔對形成羣集。在我的文本文件中有近1000對數字,所以它必須將第一對作爲輸入並將其存儲在一個數組中,現在應該使用第二對並檢查是否存在任一元素。如果數組中只存在一個元素,則必須將其他元素添加到同一個數組中。如果兩個元素都不存在於數組中,那麼它們必須存儲在新數組中。如何使用java羣集數字

樣本輸入:
(23,7)
(11,23)
(1,5)
(67,5)
(34,17)

輸出:
(23,7,11)
(1,5,67)
(34,17)

我的問題是,我不能拿來回輸入m是文本文件,因爲它是整數,但要分割文本文件,它應該是字符串。我的第二個問題是我無法將它存儲在另一個數組中。一旦數組被聲明,元素將被覆蓋。 DIS是我的代碼,我已經寫了存儲在一個數組列表中的電話號碼,但我不能夠存儲在另一個數組我不知道的元素,其中,申報新的數組列表

ArrayList a = new ArrayList(); 
a.add(i); 
a.add(j); 
if (!a.contains(i) && !a.contains(j)) 
{ 
    a.add(i); 
    a.add(j); 
    System.out.println("the cluster is" +a); 
} 
else if(a.contains(i) && !a.contains(j)) 
{ 
    a.add(j); 
    System.out.println("the cluster is" +a); 
} 
else if(!a.contains(i) && a.contains(j)) 
{ 
    a.add(i); 
    System.out.println("the cluster is" +a); 
} 
+7

您至少可以使用標點符號和正確的拼寫....如果您沒有努力幫助我們理解您的問題,我們爲什麼會幫助您? – Doorknob 2013-03-26 12:11:35

+4

請將這些添加到您的文本中:,,, ... ;;; – 2013-03-26 12:11:47

+1

此外,這個網站是關於編程問題。你試過了什麼,出了什麼問題? – CPerkins 2013-03-26 12:19:47

回答

0

1)一點也沒有不管他們是整數。爲此,上面的「i」和「j」變量可以是字符串。 2)你的單個ArrayList永遠不會擁有這種信息。有多種選擇可供考慮,但最直接的是陣列: ArrayList<ArrayList<String>> pairs = new ArrayList<ArrayList<String>>();。 在此,外部列表中的每個元素都是一個字符串數組 - 與您所需的輸出相同。 然後,你的代碼看起來會像這樣:

// For each inner array in the outer array, 
// check to see if it contains either, neither, or both of i or j 
// If it contains one, add the other to the inner array 
// Else if it contains neither, make a new array of strings and add that to the outer array 

試一下,如果你卡住再次回來問。

+0

嘿感謝您的建議,我已經開始從第一編碼,我不知道如何採取輸入4 29從文本文件 – user2199808 2013-03-29 06:53:57

+0

,因爲他們必須是i,j值的輸入必須立即採取檢查數組列表,也正如你建議在聲明數組列表後使用arraylist >我不能將i,j值添加到arraylist中它顯示的錯誤是方法不適用 – user2199808 2013-03-29 07:12:50

+0

@ user2199808這是什麼代碼看起來像現在,哪一行出現錯誤?至於不知道如何從文本文件中讀取字符串,我很驚訝你的老師把你引入到這個任務中,而沒有涉及文件輸入的基礎知識。試試這個:http://docs.oracle.com/javase/tutorial/essential/io/scanning.html – CPerkins 2013-03-30 11:57:07