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
 public class LoopFun
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
    * @return the sum of the two numbers
6
    * @return the sum of the two numbers
7
    */
7
    */
8
   public int add(int num1, int num2){
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
    * @return the sum of the two numbers
17
    * @return the sum of the two numbers
17
    */
18
    */
18
   public double add(double num1, double num2){
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
    * @return the half of the number in double
27
    * @return the half of the number in double
26
    */
28
    */
27
   public double half(int number) {
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
    * @return true if the number is odd, false if it is even
38
    * @return true if the number is odd, false if it is even
35
    */
39
    */
36
   public boolean isOdd(int number){
40
   public boolean isOdd(int number){
37
-      return false;
41
+      return true;
38
   }
42
   }
39
 
43
 
40
 
44
 
44
    * @return the result of the number multiply by itself
48
    * @return the result of the number multiply by itself
45
    */
49
    */
46
   public int square(int number) {
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
 public class StringUtilities {
1
 public class StringUtilities {
2
    public Character getMiddleCharacter(String word){
2
    public Character getMiddleCharacter(String word){
3
-       return null;
3
+      
4
+
5
+     
6
+
7
+        return null;
8
+   
4
    }
9
    }
5
    
10
    
6
    public String removeCharacter(String value, char charToRemove){
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
    public String getLastWord(String value) {
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
 dependency1.from=StringUtilitiesTest
2
 dependency1.from=StringUtilitiesTest
3
 dependency1.to=StringUtilities
3
 dependency1.to=StringUtilities
4
 dependency1.type=UsesDependency
4
 dependency1.type=UsesDependency
5
-dependency2.from=BonusTest
6
-dependency2.to=Bonus
5
+dependency2.from=LoopFunTest
6
+dependency2.to=LoopFun
7
 dependency2.type=UsesDependency
7
 dependency2.type=UsesDependency
8
 dependency3.from=MathUtilitiesTest
8
 dependency3.from=MathUtilitiesTest
9
 dependency3.to=MathUtilities
9
 dependency3.to=MathUtilities
10
 dependency3.type=UsesDependency
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
 package.editor.width=567
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
 package.frame.width=693
24
 package.frame.width=693
25
 package.numDependencies=3
25
 package.numDependencies=3
26
 package.numTargets=6
26
 package.numTargets=6
40
 target1.x=110
40
 target1.x=110
41
 target1.y=150
41
 target1.y=150
42
 target2.height=50
42
 target2.height=50
43
-target2.name=BonusTest
43
+target2.name=LoopFunTest
44
 target2.showInterface=false
44
 target2.showInterface=false
45
 target2.type=UnitTestTargetJunit4
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
 target3.height=50
49
 target3.height=50
51
-target3.name=Bonus
50
+target3.name=LoopFun
52
 target3.showInterface=false
51
 target3.showInterface=false
53
 target3.type=ClassTarget
52
 target3.type=ClassTarget
54
 target3.width=80
53
 target3.width=80
55
-target3.x=90
56
-target3.y=300
54
+target3.x=200
55
+target3.y=210
57
 target4.association=MathUtilitiesTest
56
 target4.association=MathUtilitiesTest
58
 target4.height=50
57
 target4.height=50
59
 target4.name=MathUtilities
58
 target4.name=MathUtilities