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(); + } + } }