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
deleted file mode 100644
index 4e7e508..0000000
--- a/build/classes/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/controller/
diff --git a/build/classes/controller/FlamesCheck.class b/build/classes/controller/FlamesCheck.class
index fe7152f..fc5a876 100644
Binary files a/build/classes/controller/FlamesCheck.class and b/build/classes/controller/FlamesCheck.class differ
diff --git a/build/classes/service/FlamesCheckService.class b/build/classes/service/FlamesCheckService.class
new file mode 100644
index 0000000..340f9cf
Binary files /dev/null and b/build/classes/service/FlamesCheckService.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..0d915df 100644
--- a/src/controller/FlamesCheck.java
+++ b/src/controller/FlamesCheck.java
@@ -13,7 +13,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
+import service.FlamesCheckService;
@WebServlet("/flames")
public class FlamesCheck extends HttpServlet {
@@ -34,34 +34,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..6014c43 100644
--- a/src/service/FlamesCheckService.java
+++ b/src/service/FlamesCheckService.java
@@ -7,3 +7,45 @@
// 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
+public class FlamesCheckService{
+ public char findFlames(String name1, String name2) {
+ name1 = name1.toLowerCase(); //making all characters to lowercase
+ name2 = name2.toLowerCase();
+ StringBuffer str1 = new StringBuffer(name1);
+ StringBuffer str2 = new StringBuffer(name2);
+ int len1 = str1.length();
+ int len2 = str2.length();
+ for(int i =0; i< len1; i++) {
+ char a = str1.charAt(i);
+ for(int j =0; j< len2; j++) {
+ char b = str2.charAt(j);
+ if(a == b) {
+ str1.deleteCharAt(i); //deletion of common chars
+ str2.deleteCharAt(j);
+ i = 0; //checking should start from first after the string length changes
+ j=0;
+ len1 = str1.length();
+ len2 = str2.length();
+ a = str1.charAt(0);
+ }
+ }
+ }
+ int len = len1+len2; //count of unique chars in 2 strings
+ int a = len -1; //as index is 1 less than the length
+ StringBuffer str3 = new StringBuffer("flames");
+ int len3 = str3.length();
+ for(int k =0; k<5; k++) { //5iteration. as 5 letters should be striked or removed
+ if(a >= len3) { //if unique count is more than the flames length
+ a = a % len3;
+ }
+ str3.deleteCharAt(a);
+ len3 = str3.length();
+ a = a+len-1;
+ //System.out.println("a"+a);
+ }
+ //System.out.println(str3);
+ char result = str3.charAt(0);
+ return result;
+
+ }
+}
\ No newline at end of file
diff --git a/src/testing/TestFlamesCheckService.java b/src/testing/TestFlamesCheckService.java
index f3b45fe..22c64dc 100644
--- a/src/testing/TestFlamesCheckService.java
+++ b/src/testing/TestFlamesCheckService.java
@@ -8,30 +8,30 @@
public class TestFlamesCheckService {
FlamesCheckService fcs = new FlamesCheckService();
@Test
-// public void testFindFlamesMethod() {
-// String name1 = "Alex";
-// String name2 = "Joylin";
-// char temp = 'a';
-// assertEquals(temp,fcs.findFlames(name1, name2));
-// name1 = "Steffe";
-// name2 = "Bobby";
-// temp = 'm';
-// assertEquals(temp,fcs.findFlames(name1, name2));
-// name1 = "John";
-// name2 = "Jully";
-// temp = 'e';
-// assertEquals(temp,fcs.findFlames(name1, name2));
-// name1 = "George";
-// name2 = "Neythiri";
-// temp = 'l';
-// assertEquals(temp,fcs.findFlames(name1, name2));
-// try {
-// fcs.findFlames(null, null);
-// fcs.findFlames("AAA", null);
-// fcs.findFlames(null, "BBB");
-// }
-// catch(Exception e) {
-// e.printStackTrace();
-// }
-// }
+ public void testFindFlamesMethod() {
+ String name1 = "Alex";
+ String name2 = "Joylin";
+ char temp = 'a';
+ assertEquals(temp,fcs.findFlames(name1, name2));
+ name1 = "Steffe";
+ name2 = "Bobby";
+ temp = 'm';
+ assertEquals(temp,fcs.findFlames(name1, name2));
+ name1 = "John";
+ name2 = "Jully";
+ temp = 'e';
+ assertEquals(temp,fcs.findFlames(name1, name2));
+ name1 = "George";
+ name2 = "Neythiri";
+ temp = 'l';
+ assertEquals(temp,fcs.findFlames(name1, name2));
+ try {
+ fcs.findFlames(null, null);
+ fcs.findFlames("AAA", null);
+ fcs.findFlames(null, "BBB");
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
}