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..611b17f 100644
--- a/build/classes/.gitignore
+++ b/build/classes/.gitignore
@@ -1 +1,3 @@
+/service/
/controller/
+/testing/
diff --git a/build/classes/controller/FlamesCheck.class b/build/classes/controller/FlamesCheck.class
index fe7152f..31b3204 100644
Binary files a/build/classes/controller/FlamesCheck.class and b/build/classes/controller/FlamesCheck.class differ
diff --git a/src/controller/FlamesCheck.java b/src/controller/FlamesCheck.java
index b9b9a0b..03f0d4e 100644
--- a/src/controller/FlamesCheck.java
+++ b/src/controller/FlamesCheck.java
@@ -13,6 +13,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import service.FlamesCheckService;
+
@WebServlet("/flames")
@@ -33,35 +35,35 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response)
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..9f7086a 100644
--- a/src/service/FlamesCheckService.java
+++ b/src/service/FlamesCheckService.java
@@ -1,4 +1,7 @@
package service;
+import java.util.*;
+import java.lang.*;
+import java.io.*;
// Create a class called FlamesCheckService
// FlamesCheckService has a method findFlames to find the flames between two names
@@ -7,3 +10,46 @@
// 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) {
+ char result = ' ';
+ name1 = name1.toLowerCase();
+ name2 = name2.toLowerCase();
+ int[] frequency_name1 = new int[26];
+ int[] frequency_name2 = new int[26];
+ for(int i = 0;i < name1.length();i++) {
+ int ascii = name1.charAt(i);
+ ascii =ascii-97;
+ frequency_name1[ascii]++;
+ }
+ System.out.print(name1+" "+name2);
+ for(int i = 0;i < name2.length();i++) {
+ int ascii = name2.charAt(i);
+ ascii =ascii-97;
+ frequency_name2[ascii]++;
+ }
+ int len = 0;
+ for(int i = 0;i < 26;i++) {
+ len += Math.abs(frequency_name1[i]-frequency_name2[i]);
+ }
+
+ ArrayList flames = new ArrayList();
+ flames.add('f');
+ flames.add('l');
+ flames.add('a');
+ flames.add('m');
+ flames.add('e');
+ flames.add('s');
+ int n = flames.size();
+ int index = 0;
+ while(n > 1) {
+ int i = (len+index-1)%n;
+ flames.remove(i);
+ index = i;
+ n--;
+ }
+ result = flames.get(0);
+ return result;
+ }
+}
diff --git a/src/testing/TestFlamesCheckService.java b/src/testing/TestFlamesCheckService.java
index f3b45fe..21c8852 100644
--- a/src/testing/TestFlamesCheckService.java
+++ b/src/testing/TestFlamesCheckService.java
@@ -7,31 +7,34 @@
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();
+ }
+ }
}