diff --git a/.classpath b/.classpath
index 2846539..20c137d 100644
--- a/.classpath
+++ b/.classpath
@@ -8,10 +8,6 @@
-
-
-
-
-
+
diff --git a/build/classes/.gitignore b/build/classes/.gitignore
index 4e7e508..c6ca2cf 100644
--- a/build/classes/.gitignore
+++ b/build/classes/.gitignore
@@ -1 +1 @@
-/controller/
+/service/
diff --git a/build/classes/controller/FlamesCheck.class b/build/classes/controller/FlamesCheck.class
index fe7152f..c3bf8f9 100644
Binary files a/build/classes/controller/FlamesCheck.class and b/build/classes/controller/FlamesCheck.class differ
diff --git a/build/classes/testing/TestFlamesCheckService.class b/build/classes/testing/TestFlamesCheckService.class
new file mode 100644
index 0000000..45bcb27
Binary files /dev/null and b/build/classes/testing/TestFlamesCheckService.class differ
diff --git a/src/controller/FlamesCheck.java b/src/controller/FlamesCheck.java
index b9b9a0b..fb5b908 100644
--- a/src/controller/FlamesCheck.java
+++ b/src/controller/FlamesCheck.java
@@ -12,8 +12,7 @@
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
-
+import service.FlamesCheckService;
@WebServlet("/flames")
public class FlamesCheck extends HttpServlet {
@@ -34,34 +33,34 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/*
- * Uncomment the below code to test your output
- * String name1 = request.getParameter("your");
- * String name2 = request.getParameter("crush");
- *
- * FlamesCheckService fcs = new FlamesCheckService();
- *
- * char k = fcs.findFlames(name1,name2);
- *
- * if (k == 'f') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/WEB-INF/views/friends.jsp"
- * ); rd.forward(request, response);
- *
- * } else if (k == 'l') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/WEB-INF/views/lovers.jsp")
- * ; rd.forward(request, response);
- *
- * } else if (k == 'a') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher(
- * "/WEB-INF/views/affection.jsp"); rd.forward(request, response);
- *
- * } else if (k == 'm') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher(
- * "/WEB-INF/views/marriage.jsp"); rd.forward(request, response);
- *
- * } else if (k == 'e') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/WEB-INF/views/enemies.jsp"
- * ); rd.forward(request, response);
- *
- * } else if (k == 's') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher(
- * "/WEB-INF/views/siblings.jsp"); rd.forward(request, response);
- *
- * }
- */
+ * Uncomment the below code to test your output */
+ String name1 = request.getParameter("your");
+ String name2 = request.getParameter("crush");
+
+ FlamesCheckService fcs = new FlamesCheckService();
+
+ char k = fcs.findFlames(name1,name2);
+
+ if (k == 'f') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/WEB-INF/views/friends.jsp"
+ ); rd.forward(request, response);
+
+ } else if (k == 'l') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/WEB-INF/views/lovers.jsp")
+ ; rd.forward(request, response);
+
+ } else if (k == 'a') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher(
+ "/WEB-INF/views/affection.jsp"); rd.forward(request, response);
+
+ } else if (k == 'm') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher(
+ "/WEB-INF/views/marriage.jsp"); rd.forward(request, response);
+
+ } else if (k == 'e') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/WEB-INF/views/enemies.jsp"
+ ); rd.forward(request, response);
+
+ } else if (k == 's') { RequestDispatcher rd=this.getServletContext().getRequestDispatcher(
+ "/WEB-INF/views/siblings.jsp"); rd.forward(request, response);
+
+ }
+
}
}
diff --git a/src/service/FlamesCheckService.java b/src/service/FlamesCheckService.java
index a8c006a..cd65c32 100644
--- a/src/service/FlamesCheckService.java
+++ b/src/service/FlamesCheckService.java
@@ -7,3 +7,111 @@
// You must return only the following values ['f','l','a','m','e','s']
// change the return value at the end of the method corresponding to your return value
+import java.util.*;
+
+public class FlamesCheckService{
+
+ public char findFlames(String name1, String name2){
+
+ name1 = name1.toLowerCase();
+ name2 = name2.toLowerCase();
+
+
+ // storing all the unique characters of name1 in set
+ Set wordsName1 = new HashSet();
+
+ for(int i =0; i wordsName2 = new HashSet();
+
+ for(int i =0; i value = wordsName1.iterator();
+ while (value.hasNext()) {
+ char word = value.next();
+ if(!wordsName2.contains(word)){
+ name1MinusName2 += Character.toString(word);
+ }
+ }
+
+ // iterating over wordsName1 to get characters which are not in name2
+ Iterator value2 = wordsName2.iterator();
+ while (value2.hasNext()) {
+ char word = value2.next();
+ if(!wordsName1.contains(word)){
+ name2MinusName1 += Character.toString(word);
+ }
+ }
+
+ int count = name1MinusName2.length() + name2MinusName1.length();
+
+
+
+ String flames = "flames";
+
+ // iterate over flames till we get last character from flames
+ while(flames.length() > 1) {
+ String letter = "";
+
+ // variable to keep track where the pointer lies while iterating over flames so that the character at index count
+ // can be removed
+ int flamesCount = 0;
+
+ // iterating over flames and finding the character which lies at index count.
+ while(flamesCount < count) {
+ for(int i = 0; i