| Overview | Schedule | Announcements | Resources | Assignments | Home |
IMPORTANT: This is a practice exam. We sampled topics from the Exam Two Topics document to give you a sense of the exam that is approaching. Memorizing and/or studying the content of this one, single sample set of practice problems cannot substitute for several weeks of thoroughly studying all the class notes, homework problems, textbook readings, laboratory exercises, and programming projects.
Write a method checkMatches (for the class
TestGrades) that has no parameters.
TestGrades has two fields, classOne and
classTwo, which are arrays defined below:
private int[] classOne = new int[100];
private int[] classTwo = new int[100];
checkMatches returns a double -- the decimal form
of the fraction of cells in parallel positions in the two arrays
that contain the same values -- out of all the possible positions
where there could be identical values.
For example, if classOne contains the consecutive
integers 1 .. 100, and classTwo also contains these
same integers in the same order, then checkMatches
would return 1.0, because there were 100 out of 100 matches. If,
however, classOne contains the same consecutive
integers, 1 .. 100, and classTwo contains the integers
in the reverse order, 100 .. 1, then checkMatches
would return 0.0, because there were 0 out of 100 matches. Finally,
if classOne contains fifty values of 1 followed by
fifty values of 2, and classTwo contains fifty values
of 1 followed by fifty values of 4, then checkMatches
would return 0.5, because there were 50 out of 100 matches.
Write a method called isListOrdered (for the class
List). isListOrdered has no parameters.
List has a field called theList, which is
an ArrayList defined below:
private ArrayList theList;
The objects in theList are integer objects of the
class Integer. The class Integer has an
intValue method that returns the int value stored in
the Integer object. The List constructor
guarantees that theList has at least one object in it.
The method isListOrdered should print "in
order" on the monitor screen, if the values in
theList are in ascending order; and "not in
order", otherwise. For example, if theList
contains 1, 4, 5, 6, 6, 9, then the method should print "in
order". However, if theList contains 3, 7, 2,
1, then the method should print "not in order".
Finally, if theList contains just 6, then the method
should print "in order", because a list with one
number is considered ordered.
As a follow-up, you might write isListOrdered for a
class with the same name, List, but change the field
to:
private int[ ] theList = new int [100];
Write the class described in the first practice problem (1);
that is, write TestGrades. You don't have to rewrite
checkMatches, of course. The constructor should
generate 101 random test grades (in the range from 0 to 100,
inclusive) for each of the two arrays that are fields for the
class, classOne and classTwo. Write a
method called displayClassOne that will print the
grades of classOne on the monitor. Write a method
called aGrades that will return the number of As (90
or greater) in classTwo. Write a method called
maxClassOne that will return the maximum grade of
classOne.
What is the output of the following source code fragment (one
field and one method extracted from a class), if the method
test is called?
public int[ ] arr = new int[10];
public void test( )
{
int j, k;
j = 2;
for ( k = 0; k < arr.length; k++ ) {
arr[k] = j;
j = j + k;
}
for ( k = 0; k < arr.length; k++ ) {
System.out.print(k + " " + arr[k]);
}
}
Suppose the following field has been declared for some class:
int[ ] someArray = new int[10];
Also assume that the constructor for the class fills
someArray with the following values:
| 3 | 5 | 15 | 9 | 10 | 19 | 12 | 16 | 17 | 18 |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Show the output if the following method (called
test) for this unnamed class is called:
public void test( )
{
int c = 0;
int t = 0;
System.out.println("Before:");
for (int i = 0; i < someArray.length; i++) {
System.out.println(someArray[i]);
}
for (int i = 1; i < someArray.length; i++) {
if (someArray[i-1] > someArray[i]) {
c++;
}
}
System.out.println("c is " + c);
for (int i = 1; i < someArray.length; i++) {
if (someArray[i-1] > someArray[i]) {
t = someArray[i-1];
someArray[i-1] = someArray[i];
someArray[i] = t;
}
}
System.out.println("After:");
for (int i = 0; i < someArray.length; i++) {
System.out.println(someArray[i]);
}
}
What is a queue? Describe enqueue and dequeue operations for a queue. If you had to build a Queue class from scratch, would you use an array or an ArrayList to do so? Describe how enqueue and dequeue would be facilitated by your choice.
The hearts of many computer simulations are random numbers. Why are random numbers not really random?
| Overview | Schedule | Announcements | Resources | Assignments | Home |
![]()
DePauw
University , Computer Science
Department , Spring 2005
Maintained by Brian
Howard ( bhoward@depauw.edu ).
Last updated