Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 代码保持打印为空_Java_Arrays_Null - Fatal编程技术网

Java 代码保持打印为空

Java 代码保持打印为空,java,arrays,null,Java,Arrays,Null,这段代码应该读取多个购物清单的一个文本文件,然后将它们拆分为一个单独购物清单的数组列表。然后它应该将arraylist的每个元素(每个单独的杂货店列表)按行拆分为一个新的arraylist。所以它几乎就像arraylist中的数组列表。这个代码是否适用于此?当我尝试在main方法中使用getArray方法获取数组,然后打印数组时,它一直打印null。怎么了 public class Grocery { Scanner input; String groceryLine;

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

public class Grocery {
    Scanner input;
    String groceryLine;
    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("-finish-")){
                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;
    }             
}
公共类杂货店{
扫描仪输入;
弦线;
弦线;
ArrayList=新的ArrayList();
弦乐杂货店;
//ArrayList newString=新的ArrayList();
字符串存储;
串品牌;
字符串序列号;
字符串[]新闻字符串;
公共杂货店()抛出异常{
File infle=新文件(“groceryList.txt”);
输入=新扫描仪(填充);
细绳杂货店;
while(input.hasNext()){
杂货店=input.nextLine();
}
}
公共void生成列表(){
while(input.hasNextLine()){
line=input.nextLine();
if(行等于(“-finish-”){
添加(groceryLine);
}否则{
groceryLine=groceryLine+“\n”+行;
}
}
}
公共字符串[]getArray(){
对于(int i=0;i删除此

   String grocery;
        while (input.hasNext())
                {
                        grocery = input.nextLine();
                }

然后调用makeLists。makeLists也需要将“input”作为参数

粘贴groceryList的示例格式。TXT第一个while循环的要点是什么?你在哪里定义groceryLine?我尝试时你的代码不会编译。这会编译吗?在我看来有点混乱
newString=groceryString.split(System.getProperty(“line.separator”);
如何将“input”作为参数?
公共void生成列表(扫描仪输入)
也许吧?还有,为什么我必须删除该循环?删除它是因为它没有任何用处!它也很混乱。
字符串杂货店
ArrayList杂货店=新ArrayList同名();