1711 Recitation Laboratory 4:
Review for Exam 2
Review for Exam 2
There is nothing to turn in for this recitation.
You will get full credit for it if you show up and make an honest attempt
to do the review problems given here.
The review problems in this recitation are a sample of some of the types
of problems you should expect on the exam. The exam may also contain other
types of problems as listed in the Week 6 Lecture Review.
Some of the things not covered here include completing partially written
class definitions and diagramming the state of variables.
The presenter will not finish all of the problems given in the lab.
If this is the case, you should finish them on your own.
All of the questions have solutions, available by clicking on the underbar
at the beginning of the question. These will be released after the
last recitation section of the week it meets.
The problem list has been broken into two parts. The first parts
contains problems specific to the material covered in class.
The second part contains general programming problems that you should
be able to do using your knowledge of the previous course.
Suppose we have the following declaration:
String s = "xyzabcdefabc";
Find the value of each of the following:
An Employee has a first name, last name, social security number,
home address, and monthly salary. Assume reasonable names for the attributes
and write a toString method the descrribes the state of the object.
Each attribute should be included with a description and be on its own line.
Design a class to represent an song. A song has a title, and artist,
a length, and a price. All of these should be accessible, but once created,
only the price can be changed. Have the class implement Comparable
based on the title. Write a toString method that can be used to
print the entire state of the object in an easily identifiable format
with one item per line.
Suppose that a Song has an artist. Assume
an appropriate data type for artist and that the
Song class has appropriate getter methods. Write a method
that takes an array of songs and an artist as parameters andl returns
the number of songs with that artist.
Write a method that takes two parameters, an array of String
and an int, and prints those strings that have length at least
equal to the second parameter. Each string should be on its own line.
Write a code segment that sets average equal to sum
divided by count if count is not zero.
Otherwise, average is not changed.
Write a code segment that sets wages based on
Employees are paid at a rate of $12 an hour for the first 30 hours
and $15 an hour for all hours over 30.
Suppose we have:
int x = 5;
int y = 3;
double z = 3.0;
double w = 2.0;
Evaluate each of the following expressions:
- (x + w + z)/y
- x % y
When buying nuts in bulk, the price per pound depends on the number
of pounds purchased according to the table below. Write a code segment
that sets the total price, totalPrice, from the
number of pounds purchased, poundsPurchased. You can assume that
totalPrice has already been declared as a double and
poundsPurchased has been declared as an int.
You can assume that poundsPurchased is not negative.
Note: you are asked to calculate the total price, while the table
gives the price per pound.
Note: there are many correct and many incorrect solutions to this problem.
If you want to see if you did it correctly, make a eclipse project with
two classes. In one class write a method that takes poundsPurchased
as a parameter, sets totalPrice using your solutions, and returns
totalPrice. Now write a test program that dows the calculation
for the following number of pounds: 0, 1, 2, 3, 4, 8, 9, 10, 11, 18, 19,
20, 21, 48, 49, 50 and 51.
|pounds purchased||price per pound |
|2 or fewer|| $8.95 |
|3 to 9||$7.85 |
|10 to 19|| $6.50 |
|20 to 49|| $5.95 |
|50 or over|| $5.00|
Write a code segment that prompts the user for two numbers and outputs
the maximum of the numbers entered.
Write a code segment using a do - while loop that continues
prompting the user
to enter an integer until the value entered is between 1 and 10.
After reading in the desired value, print it to the screen.
Start with the line:
Scanner scan = new Scanner(System.in);
Write a method:
public void outputChars(char c, int n):
that prints the character, c, n times
in a row on the same line.
Write a code segment that will output an isoceles triangle of asterisks
as in the example below.
The first row contains 1 asterisk, the second contains 3, and third contains 5,
The variable rows contains the number of
rows of asterisks. If rows has the value 4,
the output should look like this:
The last row of asterisks has no leading blanks. You may assume that
rows is greater than 0.
Write a code segment that sets the boolean variable isEven to
true if the integer val is even and sets isEven to
false if val is odd.
Write a code segment that declares an array of 1000 integers, creates the
array, and sets each element to the square of its index.
Declare and create an array of 1000 integers
and set the elements with odd index
to -1 and the elements with even index to +1.
Write a code segment that doubles all of the values in the integer array,
Write a code segment that sets count to the number of times
val appears in the array, values.
Suppose that a is an array of doubles. Write a code segment that
sets min to the minimum value in the array. If the array
has no elements, do not change min.
Write a code segment that reverses the elements in the integer array,
Write a method that has an array of doubles as its only parameter, and
reverses the elements in the array.
Write a method that has an array of doubles as it only parameter, and
returns a new array with the elements in reverse order.
Given the following declaration:
String x = new String;
Assume that the array has been filled appropriately.
Write a code segment to interchange
the element with index 3 with the one with index 7.
Declare any additional variables that you need to use.
Write a method:
public void interchange(double a, int j, int k);
that interchanges the element of a at index j with
the element at index k.
Write a method:
public int countOccurrences(String x, char c);
that returns the number of times c appears in x.