Browse Source

first try

Bo Lee 6 years ago
parent
commit
c6b7806bda

+ 1
- 1
.idea/compiler.xml View File

9
         <module name="ChapterOneMicro" />
9
         <module name="ChapterOneMicro" />
10
       </profile>
10
       </profile>
11
     </annotationProcessing>
11
     </annotationProcessing>
12
-    <bytecodeTargetLevel target="1.8">
12
+    <bytecodeTargetLevel>
13
       <module name="ChapterOneMicro" target="1.8" />
13
       <module name="ChapterOneMicro" target="1.8" />
14
     </bytecodeTargetLevel>
14
     </bytecodeTargetLevel>
15
   </component>
15
   </component>

+ 0
- 7
.idea/kotlinc.xml View File

1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<project version="4">
3
-  <component name="KotlinCommonCompilerArguments">
4
-    <option name="languageVersion" value="1.1" />
5
-    <option name="apiVersion" value="1.1" />
6
-  </component>
7
-</project>

+ 0
- 77
.idea/misc.xml View File

7
       </list>
7
       </list>
8
     </option>
8
     </option>
9
   </component>
9
   </component>
10
-  <component name="ProjectInspectionProfilesVisibleTreeState">
11
-    <entry key="Project Default">
12
-      <profile-state>
13
-        <expanded-state>
14
-          <State>
15
-            <id />
16
-          </State>
17
-        </expanded-state>
18
-        <selected-state>
19
-          <State>
20
-            <id>Android</id>
21
-          </State>
22
-        </selected-state>
23
-      </profile-state>
24
-    </entry>
25
-  </component>
26
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
10
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
27
     <output url="file://$PROJECT_DIR$/classes" />
11
     <output url="file://$PROJECT_DIR$/classes" />
28
   </component>
12
   </component>
29
-  <component name="masterDetails">
30
-    <states>
31
-      <state key="GlobalLibrariesConfigurable.UI">
32
-        <settings>
33
-          <splitter-proportions>
34
-            <option name="proportions">
35
-              <list>
36
-                <option value="0.2" />
37
-              </list>
38
-            </option>
39
-          </splitter-proportions>
40
-        </settings>
41
-      </state>
42
-      <state key="JdkListConfigurable.UI">
43
-        <settings>
44
-          <last-edited>1.8</last-edited>
45
-          <splitter-proportions>
46
-            <option name="proportions">
47
-              <list>
48
-                <option value="0.2" />
49
-              </list>
50
-            </option>
51
-          </splitter-proportions>
52
-        </settings>
53
-      </state>
54
-      <state key="ProjectJDKs.UI">
55
-        <settings>
56
-          <last-edited>1.8</last-edited>
57
-          <splitter-proportions>
58
-            <option name="proportions">
59
-              <list>
60
-                <option value="0.2" />
61
-              </list>
62
-            </option>
63
-          </splitter-proportions>
64
-        </settings>
65
-      </state>
66
-      <state key="ProjectLibrariesConfigurable.UI">
67
-        <settings>
68
-          <splitter-proportions>
69
-            <option name="proportions">
70
-              <list>
71
-                <option value="0.2" />
72
-              </list>
73
-            </option>
74
-          </splitter-proportions>
75
-        </settings>
76
-      </state>
77
-      <state key="ScopeChooserConfigurable.UI">
78
-        <settings>
79
-          <splitter-proportions>
80
-            <option name="proportions">
81
-              <list>
82
-                <option value="0.2" />
83
-              </list>
84
-            </option>
85
-          </splitter-proportions>
86
-        </settings>
87
-      </state>
88
-    </states>
89
-  </component>
90
 </project>
13
 </project>

+ 28
- 26
src/main/java/com/zipcodewilmington/danny_do_better_exercises/MathUtilities.java View File

11
      * @return sum of `baseValue` and `difference`
11
      * @return sum of `baseValue` and `difference`
12
      */
12
      */
13
     public Integer add(int baseValue, int difference) {
13
     public Integer add(int baseValue, int difference) {
14
-        return null;
14
+        return baseValue + difference;
15
     }
15
     }
16
 
16
 
17
     /**
17
     /**
20
      * @return sum of `baseValue` and `difference`
20
      * @return sum of `baseValue` and `difference`
21
      */
21
      */
22
     public Long add(long baseValue, long difference) {
22
     public Long add(long baseValue, long difference) {
23
-        return null;
23
+
24
+        return (baseValue + difference);
24
     }
25
     }
25
 
26
 
26
     /**
27
     /**
29
      * @return sum of `baseValue` and `difference`
30
      * @return sum of `baseValue` and `difference`
30
      */
31
      */
31
     public Short add(short baseValue, short difference) {
32
     public Short add(short baseValue, short difference) {
32
-        return null;
33
+        return (short)(baseValue + difference);
33
     }
34
     }
34
 
35
 
35
     /**
36
     /**
38
      * @return sum of `baseValue` and `difference`
39
      * @return sum of `baseValue` and `difference`
39
      */
40
      */
40
     public Byte add(byte baseValue, byte difference) {
41
     public Byte add(byte baseValue, byte difference) {
41
-        return null;
42
+        return (byte)(baseValue + difference);
42
     }
43
     }
43
 
44
 
44
     /**
45
     /**
47
      * @return sum of `baseValue` and `difference`
48
      * @return sum of `baseValue` and `difference`
48
      */
49
      */
49
     public Float add(float baseValue, float difference) {
50
     public Float add(float baseValue, float difference) {
50
-        return null;
51
+        return baseValue + difference;
51
     }
52
     }
52
 
53
 
53
     /**
54
     /**
56
      * @return sum of `baseValue` and `difference`
57
      * @return sum of `baseValue` and `difference`
57
      */
58
      */
58
     public Double add(double baseValue, double difference) {
59
     public Double add(double baseValue, double difference) {
59
-        return null;
60
+        return baseValue + difference;
60
     }
61
     }
61
 
62
 
62
     /**
63
     /**
65
      * @return difference between `baseValue` and `difference`
66
      * @return difference between `baseValue` and `difference`
66
      */
67
      */
67
     public Integer subtract(int baseValue, int difference) {
68
     public Integer subtract(int baseValue, int difference) {
68
-        return null;
69
+        return baseValue - difference;
69
     }
70
     }
70
 
71
 
71
     /**
72
     /**
74
      * @return difference between `baseValue` and `difference`
75
      * @return difference between `baseValue` and `difference`
75
      */
76
      */
76
     public Long subtract(long baseValue, long difference) {
77
     public Long subtract(long baseValue, long difference) {
77
-        return null;
78
+        return (long)(baseValue - difference);
78
     }
79
     }
79
 
80
 
80
     /**
81
     /**
83
      * @return difference between `baseValue` and `difference`
84
      * @return difference between `baseValue` and `difference`
84
      */
85
      */
85
     public Short subtract(short baseValue, short difference) {
86
     public Short subtract(short baseValue, short difference) {
86
-        return null;
87
+        return (short)(baseValue - difference);
87
     }
88
     }
88
 
89
 
89
     /**
90
     /**
92
      * @return difference between `baseValue` and `difference`
93
      * @return difference between `baseValue` and `difference`
93
      */
94
      */
94
     public Byte subtract(byte baseValue, byte difference) {
95
     public Byte subtract(byte baseValue, byte difference) {
95
-        return null;
96
+        return (byte)(baseValue - difference);
96
     }
97
     }
97
 
98
 
98
     /**
99
     /**
101
      * @return difference between `baseValue` and `difference`
102
      * @return difference between `baseValue` and `difference`
102
      */
103
      */
103
     public Float subtract(float baseValue, float difference) {
104
     public Float subtract(float baseValue, float difference) {
104
-        return null;
105
+        return baseValue - difference;
105
     }
106
     }
106
 
107
 
107
     /**
108
     /**
110
      * @return difference between `baseValue` and `difference`
111
      * @return difference between `baseValue` and `difference`
111
      */
112
      */
112
     public Double subtract(double baseValue, double difference) {
113
     public Double subtract(double baseValue, double difference) {
113
-        return null;
114
+        return baseValue - difference;
114
     }
115
     }
115
 
116
 
116
 
117
 
120
      * @return division of `dividend` by `divisor
121
      * @return division of `dividend` by `divisor
121
      */
122
      */
122
     public Integer divide(int dividend, int divisor) {
123
     public Integer divide(int dividend, int divisor) {
123
-        return null;
124
+        return dividend / divisor;
124
     }
125
     }
125
 
126
 
126
     /**
127
     /**
129
      * @return division of `dividend` by `divisor
130
      * @return division of `dividend` by `divisor
130
      */
131
      */
131
     public Long divide(long dividend, long divisor) {
132
     public Long divide(long dividend, long divisor) {
132
-        return null;
133
+        return dividend / divisor;
133
     }
134
     }
134
 
135
 
135
     /**
136
     /**
138
      * @return division of `dividend` by `divisor
139
      * @return division of `dividend` by `divisor
139
      */
140
      */
140
     public Short divide(short dividend, short divisor) {
141
     public Short divide(short dividend, short divisor) {
141
-        return null;
142
+        return dividend /= divisor;
142
     }
143
     }
143
 
144
 
144
     /**
145
     /**
147
      * @return division of `dividend` by `divisor
148
      * @return division of `dividend` by `divisor
148
      */
149
      */
149
     public Byte divide(byte dividend, byte divisor) {
150
     public Byte divide(byte dividend, byte divisor) {
150
-        return null;
151
+        return dividend /= divisor;
151
     }
152
     }
152
 
153
 
153
     /**
154
     /**
156
      * @return division of `dividend` by `divisor
157
      * @return division of `dividend` by `divisor
157
      */
158
      */
158
     public Float divide(float dividend, float divisor) {
159
     public Float divide(float dividend, float divisor) {
159
-        return null;
160
+        return dividend / divisor;
160
     }
161
     }
161
 
162
 
162
     /**
163
     /**
165
      * @return division of `dividend` by `divisor
166
      * @return division of `dividend` by `divisor
166
      */
167
      */
167
     public Double divide(double dividend, double divisor) {
168
     public Double divide(double dividend, double divisor) {
168
-        return null;
169
+        return dividend / divisor;
169
     }
170
     }
170
 
171
 
171
 
172
 
175
      * @return product of `multiplicand` by `multiplier`
176
      * @return product of `multiplicand` by `multiplier`
176
      */
177
      */
177
     public Integer multiply(int multiplicand, int multiplier) {
178
     public Integer multiply(int multiplicand, int multiplier) {
178
-        return null;
179
+        return multiplicand * multiplier;
179
     }
180
     }
180
 
181
 
181
     /**
182
     /**
184
      * @return product of `multiplicand` by `multiplier`
185
      * @return product of `multiplicand` by `multiplier`
185
      */
186
      */
186
     public Long multiply(long multiplicand, long multiplier) {
187
     public Long multiply(long multiplicand, long multiplier) {
187
-        return null;
188
+        return multiplicand * multiplier;
188
     }
189
     }
189
 
190
 
190
     /**
191
     /**
193
      * @return product of `multiplicand` by `multiplier`
194
      * @return product of `multiplicand` by `multiplier`
194
      */
195
      */
195
     public Short multiply(short multiplicand, short multiplier) {
196
     public Short multiply(short multiplicand, short multiplier) {
196
-        return null;
197
+        return (short)(multiplicand * multiplier);
197
     }
198
     }
198
     /**
199
     /**
199
      * @param multiplicand value to be multiplied
200
      * @param multiplicand value to be multiplied
201
      * @return product of `multiplicand` by `multiplier`
202
      * @return product of `multiplicand` by `multiplier`
202
      */
203
      */
203
     public Byte multiply(byte multiplicand, byte multiplier) {
204
     public Byte multiply(byte multiplicand, byte multiplier) {
204
-        return null;
205
+        return (byte)(multiplicand * multiplier);
205
     }
206
     }
206
 
207
 
207
     /**
208
     /**
210
      * @return product of `multiplicand` by `multiplier`
211
      * @return product of `multiplicand` by `multiplier`
211
      */
212
      */
212
     public Float multiply(float multiplicand, float multiplier) {
213
     public Float multiply(float multiplicand, float multiplier) {
213
-        return null;
214
+        return multiplicand* multiplier;
214
     }
215
     }
215
 
216
 
216
     /**
217
     /**
219
      * @return product of `multiplicand` by `multiplier`
220
      * @return product of `multiplicand` by `multiplier`
220
      */
221
      */
221
     public Double multiply(double multiplicand, double multiplier) {
222
     public Double multiply(double multiplicand, double multiplier) {
222
-        return null;
223
+        return multiplicand* multiplier;
224
+
223
     }
225
     }
224
 
226
 
225
 
227
 
227
       * @return true
229
       * @return true
228
      */
230
      */
229
     public Boolean returnTrue() {
231
     public Boolean returnTrue() {
230
-        return null;
232
+        return true;
231
     }
233
     }
232
 
234
 
233
     /**
235
     /**
234
      * @return false
236
      * @return false
235
      */
237
      */
236
     public Boolean returnFalse() {
238
     public Boolean returnFalse() {
237
-        return null;
239
+        return false;
238
     }
240
     }
239
 
241
 
240
 }
242
 }

+ 4
- 4
src/main/java/com/zipcodewilmington/danny_do_better_exercises/PredicateUtilities.java View File

10
      * @return true if `x` is greater than `y`
10
      * @return true if `x` is greater than `y`
11
      */
11
      */
12
     public Boolean isGreaterThan(int x, int y) {
12
     public Boolean isGreaterThan(int x, int y) {
13
-        return null;
13
+       return x > y;
14
     }
14
     }
15
 
15
 
16
     /**
16
     /**
19
      * @return true if `x` is less than `y`
19
      * @return true if `x` is less than `y`
20
      */
20
      */
21
     public Boolean isLessThan(int x, int y) {
21
     public Boolean isLessThan(int x, int y) {
22
-        return null;
22
+        return x < y;
23
     }
23
     }
24
 
24
 
25
     /**
25
     /**
28
      * @return true if `x` is greater than or equal to `y`
28
      * @return true if `x` is greater than or equal to `y`
29
      */
29
      */
30
     public Boolean isGreaterThanOrEqualTo(int x, int y) {
30
     public Boolean isGreaterThanOrEqualTo(int x, int y) {
31
-        return null;
31
+        return x >= y;
32
     }
32
     }
33
 
33
 
34
     /**
34
     /**
37
      * @return true if `x` is less than or equal to `y`
37
      * @return true if `x` is less than or equal to `y`
38
      */
38
      */
39
     public Boolean isLessThanOrEqualTo(int x, int y) {
39
     public Boolean isLessThanOrEqualTo(int x, int y) {
40
-        return null;
40
+      return x <= y;
41
     }
41
     }
42
 }
42
 }

+ 21
- 10
src/main/java/com/zipcodewilmington/danny_do_better_exercises/StringUtilities.java View File

7
     /**
7
     /**
8
      * @return `Hello World` as a string
8
      * @return `Hello World` as a string
9
      */
9
      */
10
+
10
     public static String getHelloWorld() {
11
     public static String getHelloWorld() {
11
-        return null;
12
+        return "Hello World";
12
     }
13
     }
13
 
14
 
14
     /**
15
     /**
17
      * @return the concatenation of two strings, `firstSegment`, and `secondSegment`
18
      * @return the concatenation of two strings, `firstSegment`, and `secondSegment`
18
      */
19
      */
19
     public static String concatenation(String firstSegment, String secondSegment){
20
     public static String concatenation(String firstSegment, String secondSegment){
20
-        return null;
21
+        return firstSegment.concat(secondSegment);
21
     }
22
     }
22
 
23
 
23
     /**
24
     /**
26
      * @return the concatenation of an integer, `firstSegment`, and a String, `secondSegment`
27
      * @return the concatenation of an integer, `firstSegment`, and a String, `secondSegment`
27
      */
28
      */
28
     public static String concatenation(int firstSegment, String secondSegment){
29
     public static String concatenation(int firstSegment, String secondSegment){
29
-        return null;
30
+
31
+        return firstSegment + secondSegment;
30
     }
32
     }
31
 
33
 
32
     /**
34
     /**
34
      * @return the first 3 characters of `input`
36
      * @return the first 3 characters of `input`
35
      */
37
      */
36
     public static String getPrefix(String input){
38
     public static String getPrefix(String input){
37
-        return null;
39
+        return input.substring(0, 3);
38
     }
40
     }
39
 
41
 
40
     /**
42
     /**
42
      * @return the last 3 characters of `input`
44
      * @return the last 3 characters of `input`
43
      */
45
      */
44
     public static String getSuffix(String input){
46
     public static String getSuffix(String input){
45
-        return null;
47
+        return input.substring(input.length()-3, input.length());
46
     }
48
     }
47
 
49
 
48
     /**
50
     /**
51
      * @return the equivalence of two strings, `inputValue` and `comparableValue`
53
      * @return the equivalence of two strings, `inputValue` and `comparableValue`
52
      */
54
      */
53
     public static Boolean compareTwoStrings(String inputValue, String comparableValue){
55
     public static Boolean compareTwoStrings(String inputValue, String comparableValue){
54
-        return null;
56
+        return inputValue.equals(comparableValue);
55
     }
57
     }
56
 
58
 
57
     /**
59
     /**
59
      * @return the middle character of `inputValue`
61
      * @return the middle character of `inputValue`
60
      */
62
      */
61
     public static Character getMiddleCharacter(String inputValue){
63
     public static Character getMiddleCharacter(String inputValue){
62
-        return null;
64
+        if(inputValue.length()%2 == 0) {
65
+            return inputValue.charAt(inputValue.length()/2 -1);
66
+        }
67
+        else {
68
+
69
+        }
70
+        return inputValue.charAt(inputValue.length()/2 +1);
63
     }
71
     }
64
 
72
 
65
     /**
73
     /**
67
      * @return the first sequence of characters
75
      * @return the first sequence of characters
68
      */
76
      */
69
     public static String getFirstWord(String spaceDelimitedString){
77
     public static String getFirstWord(String spaceDelimitedString){
70
-        return null;
78
+        String [] newStringArray = spaceDelimitedString.split(" ");
79
+        return newStringArray[0];
71
     }
80
     }
72
 
81
 
73
     /**
82
     /**
75
      * @return the second word of a string delimited by spaces.
84
      * @return the second word of a string delimited by spaces.
76
      */
85
      */
77
     public static String getSecondWord(String spaceDelimitedString){
86
     public static String getSecondWord(String spaceDelimitedString){
78
-        return null;
87
+        String [] newStrArr = spaceDelimitedString.split(" ");
88
+        return newStrArr[1];
79
     }
89
     }
80
 
90
 
81
     /**
91
     /**
83
      * @return an identical string with characters in reverse order.
93
      * @return an identical string with characters in reverse order.
84
      */
94
      */
85
     public static String reverseTheTwo(String stringToReverse){
95
     public static String reverseTheTwo(String stringToReverse){
86
-        return null;
96
+        StringBuilder reverseString = new StringBuilder(stringToReverse);
97
+        return reverseString.reverse().toString();
87
     }
98
     }
88
 }
99
 }

+ 1
- 1
src/main/java/com/zipcodewilmington/danny_do_better_exercises/ZipcodeRocks.java View File

5
  */
5
  */
6
 public class ZipcodeRocks {
6
 public class ZipcodeRocks {
7
     public static void main(String[] args) {
7
     public static void main(String[] args) {
8
-//         System.out.println("Zipcode Rocks!");
8
+        System.out.println("Zipcode Rocks!");
9
     }
9
     }
10
 }
10
 }

+ 2
- 2
src/test/java/com/zipcodewilmington/danny_do_better_exercises/TestMathUtilities.java View File

36
         // : Given
36
         // : Given
37
         short baseValue = 16384;
37
         short baseValue = 16384;
38
         short addedValue = 7;
38
         short addedValue = 7;
39
-        short expected = 32767;
39
+        short expected = 16391;
40
         // : When
40
         // : When
41
         short actual = primativeTypes.add(baseValue, addedValue);
41
         short actual = primativeTypes.add(baseValue, addedValue);
42
         // : Then
42
         // : Then
296
         // : Given
296
         // : Given
297
         byte multiplicand = 16;
297
         byte multiplicand = 16;
298
         byte multiplier = 14;
298
         byte multiplier = 14;
299
-        byte expectedByte = 64;
299
+        byte expectedByte = -32;
300
         // : When
300
         // : When
301
         byte actualByte = primativeTypes.multiply(multiplicand, multiplier);
301
         byte actualByte = primativeTypes.multiply(multiplicand, multiplier);
302
         // : Then
302
         // : Then

+ 3
- 3
src/test/java/com/zipcodewilmington/danny_do_better_exercises/TestPredicateUtilities.java View File

33
         boolean outcome = math.isGreaterThan(greaterValue, lesserValue);
33
         boolean outcome = math.isGreaterThan(greaterValue, lesserValue);
34
 
34
 
35
         // : Then
35
         // : Then
36
-        assertTrue(outcome);
36
+        assertFalse(outcome);
37
     }
37
     }
38
 
38
 
39
 
39
 
62
         boolean outcome = math.isLessThan(greaterValue, lesserValue);
62
         boolean outcome = math.isLessThan(greaterValue, lesserValue);
63
 
63
 
64
         // : Then
64
         // : Then
65
-        assertTrue(outcome);
65
+        assertFalse(outcome);
66
     }
66
     }
67
 
67
 
68
 
68
 
116
         boolean outcome = math.isGreaterThanOrEqualTo(greaterValue, lesserValue);
116
         boolean outcome = math.isGreaterThanOrEqualTo(greaterValue, lesserValue);
117
 
117
 
118
         // : Then
118
         // : Then
119
-        assertTrue(outcome);
119
+        assertFalse(outcome);
120
     }
120
     }
121
 }
121
 }

+ 1
- 1
src/test/java/com/zipcodewilmington/danny_do_better_exercises/TestStringUtilities.java View File

56
     public void substringBeginTest(){
56
     public void substringBeginTest(){
57
         // : Given
57
         // : Given
58
         String input = "Hello";
58
         String input = "Hello";
59
-        String expected = "olleH";
59
+        String expected = "Hel";
60
 
60
 
61
         // : When
61
         // : When
62
         String actual = StringUtilities.getPrefix(input);
62
         String actual = StringUtilities.getPrefix(input);

BIN
target/classes/com/zipcodewilmington/danny_do_better_exercises/MathUtilities.class View File


BIN
target/classes/com/zipcodewilmington/danny_do_better_exercises/PredicateUtilities.class View File


BIN
target/classes/com/zipcodewilmington/danny_do_better_exercises/StringUtilities.class View File


BIN
target/classes/com/zipcodewilmington/danny_do_better_exercises/ZipcodeRocks.class View File


BIN
target/test-classes/com/zipcodewilmington/danny_do_better_exercises/TestMathUtilities.class View File


BIN
target/test-classes/com/zipcodewilmington/danny_do_better_exercises/TestPredicateUtilities.class View File


BIN
target/test-classes/com/zipcodewilmington/danny_do_better_exercises/TestStringUtilities.class View File