List of Exercises

Table 2. Exercises in 113105 Software development 1
Chapter Exercise
No. Title Status of completion
Getting started 1 Extending class HelloWorld
2 Renaming a class file
3 Editing and compilation
4 Editing bytecode
5 Working with variables
6 Code equivalence
7 Different byte code, same execution results
8 A conditional
9 A loop
10 Getting used to Intellij IDEA
Language Fundamentals 11 Hotel key cards
12 Legal variable names
13 Benefits of final
14 «C» vs. Java.
15 Assignment and type safety
16 Inventing tinyint.
17 An int's minimum and maximum value
18 Pretty may not be pretty
19 Strange output
20 Poor mans ASCII table
21 Integer value hexadecimal representation
22 Binary literals
23 Testing the limits (Difficult)
24 Why using braces in System.out.println(...) ?
25 Composing strings of literals and variables
26 Escaping double quotes
27 Supplementary string exercises
28 int and char
29 float vs. double
30 int to char narrowing problems
31 Get a byte from 139
32 Ariane, I miss you!
33 Reducing long to int (difficult)
34 Calculating a circle's area
35 Dividing values
36 Strange things with operator ++
37 Adding values
38 Representational float and double miracles
39 Expressions involving infinity
40 int to short assignment
41 int to short assignment using final
42 Calculating a circle's area avoiding accidental redefinition
43 Turning weeks into seconds
44 Turning seconds into weeks
45 Using predefined Java™ standard library constants
46 Converting temperature values
47 Time unit conversion
48 Interest calculation
49 Summing short and char
50 Operator & vs. &&
51 Strange addition
52 Understanding +=
53 Three ways expressing the same
54 Guessing results
55 Cleaning up the mess
Statements 56 Providing better display
57 Comparing for equality
58 Replacing else if (...){...} by nested if ... else statements
59 Post modifying an exam's marking
60 At the bar
61 Roman numerals
62 Leap years
63 Why break?
64 Extending to month days
65 Converting day's names to numbers.
66 Day categories.
67 Roman numerals, using switch
68 Generating square numbers
69 Calculating factorial
70 Even or odd?
71 Square root approximation
72 Printing even numbers
73 Merry Xmas
74 More fun with Xmas trees
75 A basic square number table
76 Tidy up the mess!
77 HTML-ify me
78 Auxiliary Example, part 1: A multiplication table
79 Auxiliary Example, part 2: Avoiding redundant entries
80 Creating a real square table
81 Creating a sophisticated HTML version of your square table
82 Display all summands
83 Playing lottery
84 Guessing numbers
85 Smallest multiple
86 Smallest multiple, purely algebraic solution
87 Pythagorean triples
88 Avoiding duplicates and gaining performance
Objects and Classes 89 Compile time error
90 Static code analysis
91 Understanding access control
92 Explaining times
93 Implementing getter methods
94 Method signature variants
95 Will a match be found?
96 Modeling geometry objects: Rectangles
97 Modeling circles
98 Adding translations and SVG export.
99 Extending the employee example.
100 Refining access to an employee's attributes
101 File system representation
102 Your personal String class
103 Constructors variable names and this.
104 Class vs. instance
105 Distinguishing leap- and non-leap years
106 A method for printing square numbers using for, while and do ... while
107 Nicely formatting sine values.
108 Extending our interest calculator
109 Integer value considerations.
110 Programmer's favourite expression
111 Lotteries revisited
112 Finding the greatest common divisor of two integer values
113 Dealing with IBAN numbers
114 Cancelling fractions
115 Dealing with local Maven dependencies
116 DNS inflicted groupId / package names clashes
117 Details on execution
118 Maximum and absolute value
119 Factorial, the direct way
120 Factorial, the recursive way
121 Binomials, the recursive way
122 The exponential f x = e x
123 Implementing sin ( x ) .
124 Summing up in a different order.
125 Summing up integers to a given limit
126 Summing up, the better way
127 Turning seconds into weeks, part 2
128 Example: A class representing fractions
129 Compass directions
130 Compass direction neighbours
131 git local, DIY
132 git distributed, DIY
Core Classes 133 Choosing a good hashCode() method
134 String and good hashCode() implementations.
135 Common pitfall using trigonometric functions
136 Using constants from java.lang.Math.
137 Strings on CodingBat
138 Masking strings
139 Analyzing strings
140 Pitfalls using ==: Equality of String instances
141 Weird, weirder, weirdest!
142 Analyzing file pathnames
Arrays 143 Assignment to final variable?
144 Converting string arrays to HTML.
145 Route navigation
146 Examinations and mark frequencies
147 Pangram checker
148 Reconsidering System.out.format().
149 Understanding search results
150 Implementing append directly
151 Purge duplicates
152 A container of fixed capacity holding integer values
153 Allow for variable capacity holding integer values
154 Reading console input
155 Prettifying output representation
156 2-dimensional arrays and .length
157 External array and string exercises
158 Tic-tac-toe using a two-dimensional array
159 Changing the game's internal representation
160 Tic-tac-toe, Computer vs. human
161 Adding support to retrieve statistical data.
162 Testing an implementation
163 Improving prime number calculation performance
164 Calculating the median
165 A simple character based plotting application
Inheritance 166 Let me pass, please!
167 Why is == correctly comparing enum instances?
168 String vs. StringBuffer
169 Alternate implementation of opposite directions
170 Defining a Shape class hierarchy
171 Scaling shapes
172 Providing toString() methods
173 protected vs. package private
174 protected access involving different instances
Error Handling 175 Mind your prey
176 Expected exception test failure
Working with Numbers 177 Auto boxing int to Double?
178 Why using String userInput = null?
179 Parsing short values
180 Parsing short values in hexadecimal representation
181 Locale definitions
182 Formatting int, double and LocaleDate
183 Chaining subtract method calls
interface definitions and abstract Classes 184 Understanding Arrays.sort()
185 Sorting Rectangle instances by width
186 Sorting Rectangle instances by width and height
187 Adding flexibility in sorting rectangles
188 A nonsense generator
189 An interface based plotter
Application deployment I 190 Various integer array algorithms
191 A command line version computing a sample's average and median
Reading character streams 192 Adding line numbers to text files
193 A partial implementation of GNU UNIX wc
Collections 194 Inserting strings into a Set.
195 Inserting strings into a List.
196 Representing integer coordinate values
197 Inserting Coordinate instances into a Set.
198 Getting a text's set of words.
199 A text's set of words in alphabetic order
200 Implementing unusual string sorting.
201 Words and corresponding frequencies
202 Formatting an address list
203 Implementing a set of strings
204 Implementing word frequencies by Map<String, Integer> instances.
205 Regain sorting capabilities.
206 Creating an overview of grades showing frequencies
207 Creating an overview of grades showing individual names