Программа выводит всю необходимую информацию правильно, но валидатор не проходит.
"Убедись, что метод getQuery формирует правильную строку."
package com.javarush.task.task22.task2208;
import java.util.HashMap;
import java.util.Map;
/*
Формируем WHERE
{name=Ivanov, country=Ukraine, city=Kiev, age=null}
name = 'Ivanov' and country = 'Ukraine' and city = 'Kiev'
name = 'Ivanov' and country = 'Ukraine' and city = 'Kiev'
*/
public class Solution {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("name", null);
map.put("country", null);
map.put("city", null);
map.put("age", null);
System.out.println(getQuery(map));
}
public static String getQuery(Map<String, String> params) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(params.get("name") != null ? String.format("name = '%s' and ", params.get("name")) : "");
stringBuilder.append(params.get("country") != null ? String.format("country = '%s' and ", params.get("country")) : "");
stringBuilder.append(params.get("city") != null ? String.format("city = '%s' and ", params.get("city")) : "");
stringBuilder.append(params.get("age") != null ? String.format("age = '%s' and ", params.get("age")) : "");
String string = stringBuilder.toString();
if (string.length() > 5) {
string = string.substring(0, string.lastIndexOf(" and "));
}
return string;
}
}