保持打印无效

时间:2013-11-25 16:34:21

标签: java arraylist null split

这段代码应该读取多个购物清单的一个文本文件,然后将它们分成一个单独的杂货清单的arraylist。然后它应该将arraylist的每个元素(每个单独的购物清单)按行分成新的arraylist。所以它几乎就像一个arraylist中的数组列表。这段代码是否有效?当我尝试在我的main方法中使用getArray方法获取数组然后我打印数组但它保持打印为null。什么了?

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 个答案:

答案 0 :(得分:0)

newStringString数组,而不是Arraylist。它不包含add()方法。您只需要将结果String[]直接分配给String#split()方法返回的结果。

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

答案 1 :(得分:0)

您正在使用的add方法是ArrayList类中的方法。它不存在于数组中。