NiraParikh 6 years ago
parent
commit
3ca4308a97
4 changed files with 116 additions and 67 deletions
  1. 71
    36
      LoopFun.java
  2. 10
    5
      MathUtilities.java
  3. 14
    4
      StringUtilities.java
  4. 21
    22
      package.bluej

+ 71
- 36
LoopFun.java View File

@@ -1,40 +1,75 @@
1 1
 public class LoopFun
2 2
 {
3 3
 
4
-      /**
5
-       * Given a number, return the factorial of that number.
6
-       * For example, given 5, the factorial is 5 x 4 x 3 x 2 x 1 which should return 120.
7
-       * @param number
8
-       * @return the factorial of the number
9
-       */
10
-      public int factorial(int number){
11
-          return -1;
12
-      }
13
-
14
-      /**
15
-       * Given a phrase, get the acronym of that phrase. Acronym is the combination of
16
-       * the first character of each word in upper case.
17
-       * For example, given "Ruby on Rails", this method will return "ROR"
18
-       * @param phrase
19
-       * @return Upper case string of the first letter of each word
20
-       */
21
-      public String acronym(String phrase) {
22
-          return null;
23
-      }
24
-
25
-      /**
26
-       * To prevent anyone from reading our messages, we can encrypt it so it will only be readable by its
27
-       * intended audience. This method encrypt the message by shifting the letter by 3 characters. If the character is
28
-       * at the end of the alphabet, it will wraps around.
29
-       * For example:
30
-       *  'a' => 'd'
31
-       *  'w' => 'z'
32
-       *  'x' => 'a'
33
-       *  'y' => 'b'
34
-       * @param word
35
-       * @return the encrypted string by shifting each character by three character
36
-       */
37
-      public String encrypt(String word) {
38
-          return null;
39
-      }
4
+    /**
5
+     * Given a number, return the factorial of that number.
6
+     * For example, given 5, the factorial is 5 x 4 x 3 x 2 x 1 which should return 120.
7
+     * @param number
8
+     * @return the factorial of the number
9
+     */
10
+    public int factorial(int number){
11
+
12
+        int result = 1;
13
+        for(int i = 2; i <= number; i++)
14
+            result *= i;
15
+        return result;    
16
+
17
+    }
18
+
19
+    /**
20
+     * Given a phrase, get the acronym of that phrase. Acronym is the combination of
21
+     * the first character of each word in upper case.
22
+     * For example, given "Ruby on Rails", this method will return "ROR"
23
+     * @param phrase
24
+     * @return Upper case string of the first letter of each word
25
+     */
26
+    public String acronym(String phrase) {
27
+
28
+        String acronym = "";
29
+        acronym += phrase.toUpperCase().charAt(0);
30
+
31
+        for (int i = 1; i <= phrase.length() - 1; i++) {
32
+            if (phrase.charAt(i - 1) == ' ' || phrase.charAt(i - 1) == '-') {
33
+                acronym += phrase.toUpperCase().charAt(i);
34
+            }
35
+        }
36
+
37
+        return acronym;
38
+    }
39
+    /*
40
+
41
+    What can you learn from this solution?
42
+
43
+    A huge amount can be learnt from reading other people’s code. This is why we wanted to give exercism users the option of making their solutions public.
44
+
45
+    Here are some questions to help you reflect on this solution and learn the most from it.
46
+
47
+    What compromises have been made?
48
+    Are there new concepts here that I could read more about to develop my understanding?
49
+     */
50
+
51
+    /**
52
+     * To prevent anyone from reading our messages, we can encrypt it so it will only be readable by its
53
+     * intended audience. This method encrypt the message by shifting the letter by 3 characters. If the character is
54
+     * at the end of the alphabet, it will wraps around.
55
+     * For example:
56
+     *  'a' => 'd'
57
+     *  'w' => 'z'
58
+     *  'x' => 'a'
59
+     *  'y' => 'b'
60
+     * @param word
61
+     * @return the encrypted string by shifting each character by three character
62
+     */
63
+    public String encrypt(String word) {
64
+        char swap =  ' ';
65
+        char[] arr = word.toCharArray();
66
+        swap(arr, 0, word.length + 3);
67
+        int i = arr.length + 3 ;
68
+        while(i > 1) {
69
+            swap(arr, i, i-1);
70
+        }
71
+        return new swap;
72
+    }
73
+
40 74
 }
75
+

+ 10
- 5
MathUtilities.java View File

@@ -6,7 +6,8 @@ public class MathUtilities{
6 6
    * @return the sum of the two numbers
7 7
    */
8 8
   public int add(int num1, int num2){
9
-      return -1;
9
+      int sum = num1 + num2;
10
+      return sum;
10 11
   }
11 12
 
12 13
   /**
@@ -16,7 +17,8 @@ public class MathUtilities{
16 17
    * @return the sum of the two numbers
17 18
    */
18 19
   public double add(double num1, double num2){
19
-      return -1;
20
+       double sum = num1 + num2;
21
+      return sum;
20 22
   }
21 23
 
22 24
   /**
@@ -25,7 +27,9 @@ public class MathUtilities{
25 27
    * @return the half of the number in double
26 28
    */
27 29
   public double half(int number) {
28
-      return -1;
30
+     double div = number/2;
31
+    
32
+      return div;
29 33
   }
30 34
 
31 35
   /**
@@ -34,7 +38,7 @@ public class MathUtilities{
34 38
    * @return true if the number is odd, false if it is even
35 39
    */
36 40
   public boolean isOdd(int number){
37
-      return false;
41
+      return true;
38 42
   }
39 43
 
40 44
 
@@ -44,7 +48,8 @@ public class MathUtilities{
44 48
    * @return the result of the number multiply by itself
45 49
    */
46 50
   public int square(int number) {
47
-      return -1;
51
+      
52
+      return number * number;
48 53
   }
49 54
 
50 55
 }

+ 14
- 4
StringUtilities.java View File

@@ -1,13 +1,23 @@
1 1
 public class StringUtilities {
2 2
    public Character getMiddleCharacter(String word){
3
-       return null;
3
+      
4
+
5
+     
6
+
7
+        return null;
8
+   
4 9
    }
5 10
    
6 11
    public String removeCharacter(String value, char charToRemove){
7
-     return null;  
12
+     String newstr = value.substring(0, 1) + value.substring(1 + 1);
13
+       return newstr;
14
+         
8 15
    }
9 16
    
10 17
    public String getLastWord(String value) {
11
-       return null;
12
-   }
18
+        
19
+        return value.substring(value.lastIndexOf(" ")+1);
20
+       
21
+    }
22
+    
13 23
 }

+ 21
- 22
package.bluej View File

@@ -2,25 +2,25 @@
2 2
 dependency1.from=StringUtilitiesTest
3 3
 dependency1.to=StringUtilities
4 4
 dependency1.type=UsesDependency
5
-dependency2.from=BonusTest
6
-dependency2.to=Bonus
5
+dependency2.from=LoopFunTest
6
+dependency2.to=LoopFun
7 7
 dependency2.type=UsesDependency
8 8
 dependency3.from=MathUtilitiesTest
9 9
 dependency3.to=MathUtilities
10 10
 dependency3.type=UsesDependency
11
-editor.fx.0.height=722
12
-editor.fx.0.width=876
13
-editor.fx.0.x=158
14
-editor.fx.0.y=216
15
-objectbench.height=164
16
-objectbench.width=669
17
-package.divider.horizontal=0.6
18
-package.divider.vertical=0.7628294036061026
19
-package.editor.height=543
11
+editor.fx.0.height=658
12
+editor.fx.0.width=1280
13
+editor.fx.0.x=0
14
+editor.fx.0.y=23
15
+objectbench.height=148
16
+objectbench.width=397
17
+package.divider.horizontal=0.600297176820208
18
+package.divider.vertical=0.7619047619047619
19
+package.editor.height=489
20 20
 package.editor.width=567
21
-package.editor.x=557
22
-package.editor.y=43
23
-package.frame.height=779
21
+package.editor.x=-4
22
+package.editor.y=23
23
+package.frame.height=709
24 24
 package.frame.width=693
25 25
 package.numDependencies=3
26 26
 package.numTargets=6
@@ -40,20 +40,19 @@ target1.width=110
40 40
 target1.x=110
41 41
 target1.y=150
42 42
 target2.height=50
43
-target2.name=BonusTest
43
+target2.name=LoopFunTest
44 44
 target2.showInterface=false
45 45
 target2.type=UnitTestTargetJunit4
46
-target2.width=80
47
-target2.x=120
48
-target2.y=270
49
-target3.association=BonusTest
46
+target2.width=110
47
+target2.x=10
48
+target2.y=240
50 49
 target3.height=50
51
-target3.name=Bonus
50
+target3.name=LoopFun
52 51
 target3.showInterface=false
53 52
 target3.type=ClassTarget
54 53
 target3.width=80
55
-target3.x=90
56
-target3.y=300
54
+target3.x=200
55
+target3.y=210
57 56
 target4.association=MathUtilitiesTest
58 57
 target4.height=50
59 58
 target4.name=MathUtilities