2013-11-25 60 views
-1

此代碼應該讀取多個購物清單中的一個文本文件,然後將它們拆分爲單獨的購物清單的數組列表。然後它應該將每一個數組列表(每個單獨的購物清單)的每個元素按行分解成一個新的數組列表。所以它幾乎就像一個ArrayList中的數組列表。此代碼是否適用於此?當我嘗試在我的main方法中使用getArray方法獲取數組,然後打印該數組但它仍然保持打印爲空。這是怎麼回事?保持打印無效

public class Grocery{ 

    Scanner input; 
    String listLine; 
    String line; 
    ArrayList<String> grocery = new ArrayList<String>(); 
    String groceryString; 
    //ArrayList<String> newString = new ArrayList<String>(); 
    String store; 
    String brand; 
    String serialNumber; 
    String[] newString; 

    public Grocery()throws IOException{ 

    File inFile = new File ("groceryList.txt"); 
    input = new Scanner (inFile); 
    String grocery; 
    while (input.hasNext()) 
      { 
        grocery = input.nextLine(); 
      } 
    } 

    public void makeLists(){ 

    while(input.hasNextLine()){ 
      line = input.nextLine(); 
        if(line.equals("<END>")){ 
          grocery.add(groceryLine); 
        } 
        else{ 
          groceryLine = groceryLine + "\n" + line; 
        } 
      } 
      } 
    public String[] getArray(){ 

    for(int i=0; i<grocery.size(); i++){ 
      groceryString = grocery.get(i); 
      newString =groceryString.split("\n"); 
      // store = newString[1]; 
      // brand = newString[4]; 
      // serialNumber = newString[5]; 
      } 
    return newString; 
    } 



} 


      ^
+2

數組類型沒有'add()'方法。 –

+0

不應該拋出一個異常,而不是允許它運行,如果方法不存在? – MxyL

+0

@Keikoku它甚至不應該那麼遠;該代碼甚至不應該*編譯*。 –

回答

0

newStringString陣列而不是一個Arraylist。它不包含add()方法。你只需要直接將結果String[]分配給它從String#split()方法返回它。

newString = emailString.split("\n"); 
0

您使用的add方法是ArrayList類中的方法。它不存在於數組中。