Browse Source

everything but bytes

Patrick Glavin 6 years ago
parent
commit
8f18864281

+ 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>

+ 42
- 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
+        return (baseValue + difference);
24
     }
24
     }
25
 
25
 
26
     /**
26
     /**
29
      * @return sum of `baseValue` and `difference`
29
      * @return sum of `baseValue` and `difference`
30
      */
30
      */
31
     public Short add(short baseValue, short difference) {
31
     public Short add(short baseValue, short difference) {
32
-        return null;
32
+        int answer = (baseValue + difference);
33
+        return (short)answer;
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
+        int temp = (baseValue+difference);
43
+        return (byte)(temp);
42
     }
44
     }
43
 
45
 
44
     /**
46
     /**
47
      * @return sum of `baseValue` and `difference`
49
      * @return sum of `baseValue` and `difference`
48
      */
50
      */
49
     public Float add(float baseValue, float difference) {
51
     public Float add(float baseValue, float difference) {
50
-        return null;
52
+        return baseValue + difference;
51
     }
53
     }
52
 
54
 
53
     /**
55
     /**
56
      * @return sum of `baseValue` and `difference`
58
      * @return sum of `baseValue` and `difference`
57
      */
59
      */
58
     public Double add(double baseValue, double difference) {
60
     public Double add(double baseValue, double difference) {
59
-        return null;
61
+        return baseValue + difference;
60
     }
62
     }
61
 
63
 
62
     /**
64
     /**
65
      * @return difference between `baseValue` and `difference`
67
      * @return difference between `baseValue` and `difference`
66
      */
68
      */
67
     public Integer subtract(int baseValue, int difference) {
69
     public Integer subtract(int baseValue, int difference) {
68
-        return null;
70
+        return baseValue - difference;
69
     }
71
     }
70
 
72
 
71
     /**
73
     /**
74
      * @return difference between `baseValue` and `difference`
76
      * @return difference between `baseValue` and `difference`
75
      */
77
      */
76
     public Long subtract(long baseValue, long difference) {
78
     public Long subtract(long baseValue, long difference) {
77
-        return null;
79
+        return baseValue - difference;
78
     }
80
     }
79
 
81
 
80
     /**
82
     /**
83
      * @return difference between `baseValue` and `difference`
85
      * @return difference between `baseValue` and `difference`
84
      */
86
      */
85
     public Short subtract(short baseValue, short difference) {
87
     public Short subtract(short baseValue, short difference) {
86
-        return null;
88
+        int first = baseValue;
89
+        int second = difference;
90
+        return (short)(first-second);
87
     }
91
     }
88
 
92
 
89
     /**
93
     /**
92
      * @return difference between `baseValue` and `difference`
96
      * @return difference between `baseValue` and `difference`
93
      */
97
      */
94
     public Byte subtract(byte baseValue, byte difference) {
98
     public Byte subtract(byte baseValue, byte difference) {
95
-        return null;
99
+        int first = baseValue;
100
+        int second = difference;
101
+        return (byte)(first-second);
96
     }
102
     }
97
 
103
 
98
     /**
104
     /**
101
      * @return difference between `baseValue` and `difference`
107
      * @return difference between `baseValue` and `difference`
102
      */
108
      */
103
     public Float subtract(float baseValue, float difference) {
109
     public Float subtract(float baseValue, float difference) {
104
-        return null;
110
+        Float first = baseValue * 100;
111
+        Float second = difference * 100;
112
+        return ((first - second)/100);
105
     }
113
     }
106
 
114
 
107
     /**
115
     /**
110
      * @return difference between `baseValue` and `difference`
118
      * @return difference between `baseValue` and `difference`
111
      */
119
      */
112
     public Double subtract(double baseValue, double difference) {
120
     public Double subtract(double baseValue, double difference) {
113
-        return null;
121
+        return baseValue - difference;
114
     }
122
     }
115
 
123
 
116
 
124
 
120
      * @return division of `dividend` by `divisor
128
      * @return division of `dividend` by `divisor
121
      */
129
      */
122
     public Integer divide(int dividend, int divisor) {
130
     public Integer divide(int dividend, int divisor) {
123
-        return null;
131
+        return dividend/divisor;
124
     }
132
     }
125
 
133
 
126
     /**
134
     /**
129
      * @return division of `dividend` by `divisor
137
      * @return division of `dividend` by `divisor
130
      */
138
      */
131
     public Long divide(long dividend, long divisor) {
139
     public Long divide(long dividend, long divisor) {
132
-        return null;
140
+        return dividend/divisor;
133
     }
141
     }
134
 
142
 
135
     /**
143
     /**
138
      * @return division of `dividend` by `divisor
146
      * @return division of `dividend` by `divisor
139
      */
147
      */
140
     public Short divide(short dividend, short divisor) {
148
     public Short divide(short dividend, short divisor) {
141
-        return null;
149
+        int first = dividend;
150
+        int second = divisor;
151
+        return (short)(first/second);
142
     }
152
     }
143
 
153
 
144
     /**
154
     /**
147
      * @return division of `dividend` by `divisor
157
      * @return division of `dividend` by `divisor
148
      */
158
      */
149
     public Byte divide(byte dividend, byte divisor) {
159
     public Byte divide(byte dividend, byte divisor) {
150
-        return null;
160
+        int first = dividend;
161
+        int second = divisor;
162
+        return (byte)(first/second);
151
     }
163
     }
152
 
164
 
153
     /**
165
     /**
156
      * @return division of `dividend` by `divisor
168
      * @return division of `dividend` by `divisor
157
      */
169
      */
158
     public Float divide(float dividend, float divisor) {
170
     public Float divide(float dividend, float divisor) {
159
-        return null;
171
+        return dividend/divisor;
160
     }
172
     }
161
 
173
 
162
     /**
174
     /**
165
      * @return division of `dividend` by `divisor
177
      * @return division of `dividend` by `divisor
166
      */
178
      */
167
     public Double divide(double dividend, double divisor) {
179
     public Double divide(double dividend, double divisor) {
168
-        return null;
180
+        return dividend/divisor;
169
     }
181
     }
170
 
182
 
171
 
183
 
175
      * @return product of `multiplicand` by `multiplier`
187
      * @return product of `multiplicand` by `multiplier`
176
      */
188
      */
177
     public Integer multiply(int multiplicand, int multiplier) {
189
     public Integer multiply(int multiplicand, int multiplier) {
178
-        return null;
190
+        return multiplicand * multiplier;
179
     }
191
     }
180
 
192
 
181
     /**
193
     /**
184
      * @return product of `multiplicand` by `multiplier`
196
      * @return product of `multiplicand` by `multiplier`
185
      */
197
      */
186
     public Long multiply(long multiplicand, long multiplier) {
198
     public Long multiply(long multiplicand, long multiplier) {
187
-        return null;
199
+        return multiplicand * multiplier;
188
     }
200
     }
189
 
201
 
190
     /**
202
     /**
193
      * @return product of `multiplicand` by `multiplier`
205
      * @return product of `multiplicand` by `multiplier`
194
      */
206
      */
195
     public Short multiply(short multiplicand, short multiplier) {
207
     public Short multiply(short multiplicand, short multiplier) {
196
-        return null;
208
+        int first = multiplicand;
209
+        int second = multiplier;
210
+        return (short)(first * second);
197
     }
211
     }
198
     /**
212
     /**
199
      * @param multiplicand value to be multiplied
213
      * @param multiplicand value to be multiplied
201
      * @return product of `multiplicand` by `multiplier`
215
      * @return product of `multiplicand` by `multiplier`
202
      */
216
      */
203
     public Byte multiply(byte multiplicand, byte multiplier) {
217
     public Byte multiply(byte multiplicand, byte multiplier) {
204
-        return null;
218
+        int first = multiplicand;
219
+        int second = multiplier;
220
+        return (byte)(first * second);
205
     }
221
     }
206
 
222
 
207
     /**
223
     /**
210
      * @return product of `multiplicand` by `multiplier`
226
      * @return product of `multiplicand` by `multiplier`
211
      */
227
      */
212
     public Float multiply(float multiplicand, float multiplier) {
228
     public Float multiply(float multiplicand, float multiplier) {
213
-        return null;
229
+        return multiplicand * multiplier;
214
     }
230
     }
215
 
231
 
216
     /**
232
     /**
219
      * @return product of `multiplicand` by `multiplier`
235
      * @return product of `multiplicand` by `multiplier`
220
      */
236
      */
221
     public Double multiply(double multiplicand, double multiplier) {
237
     public Double multiply(double multiplicand, double multiplier) {
222
-        return null;
238
+        return multiplicand * multiplier;
223
     }
239
     }
224
 
240
 
225
 
241
 
227
       * @return true
243
       * @return true
228
      */
244
      */
229
     public Boolean returnTrue() {
245
     public Boolean returnTrue() {
230
-        return null;
246
+        return true;
231
     }
247
     }
232
 
248
 
233
     /**
249
     /**
234
      * @return false
250
      * @return false
235
      */
251
      */
236
     public Boolean returnFalse() {
252
     public Boolean returnFalse() {
237
-        return null;
253
+        return false;
238
     }
254
     }
239
 
255
 
240
 }
256
 }

+ 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
 }

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

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

+ 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
 }

+ 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

154
         String expected = "Wilmington";
154
         String expected = "Wilmington";
155
 
155
 
156
         // : When
156
         // : When
157
-        String actual = StringUtilities.getFirstWord(input);
157
+        String actual = StringUtilities.getSecondWord(input);
158
 
158
 
159
         // : Then
159
         // : Then
160
         assertEquals(expected, actual);
160
         assertEquals(expected, actual);

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/TestPredicateUtilities.class View File


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