Ответ правильный со всеми возможными входными параметрами. Подскажите, пожалуйста, куда копать?
package com.javarush.task.task22.task2208;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/*
Формируем WHERE
*/
public class Solution {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("name", "Ivanov");
map.put("country", "Ukraine");
map.put("city", "Kiev");
map.put("age", "null");
System.out.println(getQuery(map));
}
public static String getQuery(Map<String, String> params) {
List<String> list = new ArrayList<>();
for (Map.Entry<String, String> pair : params.entrySet()) {
String key = pair.getKey();
String value = pair.getValue();
list.add(key);
if (value.equals("null")) {
list.remove(list.size()-1);
} else {
list.add(value);
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); ) {
sb.append(list.get(i) + " = " + "'" + list.get(i+1) + "'");
i += 2;
if (i >= list.size()) {
break;
} else {
sb.append(" and ");
}
}
return sb.toString();
}
}