I just have no clue what they want with the third requirement Edit: I tried changing line 40 to j=0, just in case the ID should be included in the displayed info; still failing the same condition Edit2: I changed lines 33-47 to:
HashMap<Integer, String> idAndInfo = new HashMap<>();
 ArrayList<Integer> ids = new ArrayList<>();

        //add all products to HashMap with Key = ID and Value = product info
        for (int i = 0; i<products.size(); i++){
            String[] info = products.get(i).split(" ");
            int id = Integer.parseInt(info[0]);
            ids.add(id);
            String productInfo = "";
            for (int j = 1; j<info.length-1;j++){
                s += (info[j] + " ");
            }
            s+= info[info.length-1];
            idAndInfo.put(id, productInfo);
        }

        for (int i = 0; i<ids.size(); i++)
        productSearch(idAndInfo, ids.get(i));
(again with and without the ID in the displayed info) - still not passing