Помогите, пожалуйста, найти ошибку в коде, не понимаю, где и что неправильно.
package com.javarush.task.task22.task2208;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/*
Формируем WHERE
*/
public class Solution {
public static void main(String[] args) {
Map<String, String> params = new HashMap<>();
params.put("name","Ivanov");
params.put("country","Ukraine");
params.put("city","Kiev");
params.put("age","23");
System.out.println(getQuery(params));
}
public static String getQuery(Map<String, String> params) {
StringBuilder sb = new StringBuilder();
if(params.get("name")!=null){
sb.append("name = \'" + params.get("name")+"\' and ");
}
if(params.get("country")!=null && params.get("city")!=null){
sb.append("country = \'" + params.get("country")+"\' and ");
} else if (params.get("country")!=null) {
sb.append("country = \'" + params.get("country")+"\'");
}
if(params.get("city")!=null && params.get("age")!=null){
sb.append("city = \'" + params.get("city")+"\' and ");
}else if(params.get("city")!=null){
sb.append("city = \'" + params.get("city")+"\'");
}
if(params.get("age")!=null){
sb.append("age = \'" + params.get("age") + "\'");
}
return sb.toString();
}
}