这段代码应该读取多个购物清单的一个文本文件,然后将它们分成一个单独的杂货清单的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;
}
}
^
答案 0 :(得分:0)
newString
是String
数组,而不是Arraylist
。它不包含add()
方法。您只需要将结果String[]
直接分配给String#split()
方法返回的结果。
newString = emailString.split("\n");
答案 1 :(得分:0)
您正在使用的add方法是ArrayList类中的方法。它不存在于数组中。