Java Object Oriented Practice Questions with source code

Question 1: Aggregation and Inheritance

What relationship is appropriate between the following classes: aggregation, inheritance, or neither? State your reasons for each answer.
a) Wheel-Bicycle
b) Banana-Fruit
c) Lamp-Bulb
d) Flute-Guitar
e) Rainbow-Colour

Question 2: Alphabets to numeric values

a) Using recursion, compute the sum of all numeric values of each character in a string that are in the range a-z, where a=1, b=2, … z=26. Any other character has no value. The method is case-sensitive, so uppercase letters have no value. Call the recursive method from main().

b) Now add a class called StringConverter in its own .java file, which has a recursive static method like the one just created but has an extra parameter called caseSensitive which if set to false will treat uppercase letters as lowercase letters. Call this new recursive method statically from main(). For example if this is called on the string abCde with caseSensitive set to false, it will return 15. With caseSensitive set to true it will return 12.

Question 3: Breakdown of selection sort and merge sort

Give a detailed breakdown and explanation of a walkthrough of selection sort with this
set:
4 7 11 4 9 5 11 7 3 5
Give a detailed breakdown and explanation of a walkthrough of merge sort with this set:
4 7 11 4 9 5 11 7 3 5

Question 4: Fruits Counter program using HashMap

Write a program that processes a file containing the names of different fruit. First create a Set of 5 allowed fruit names. A valid file contains fruit names that are separated by whitespace, e.g. a space, a tab or a newline.

Each fruit name can be present more than once in the file. Read the file and every time the name of a fruit is encountered, if that fruit is in the set of allowed fruit names, increment a total in a Map using the fruit name as the key, and the counter as the value. Once the file has been read and closed, and the map fully updated, write each key/value pair in the map to the console.

Example input file:
banana apple pear banana peach pineapple apple pear peach pear

Example console output (if all the fruit in the input file are in the allowed Set):
banana: 2
apple: 2
pear: 3
pineapple: 1
peach: 2

Question 5: String Convertor JUnitTests

Write a JUnit test(s) to test all logic paths in the StringConverter recursive method created in question 2 b). Consider the empty string case, the caseSensitive==true case and the caseSensitive==false case.

Get Project Solution Now