Building Java Programs A Back to Basics Approach 4th Edition Reges Test Bank download pdf
Building Java Programs A Back to Basics Approach 4th Edition Reges Test Bank download pdf
https://testbankfan.com/product/building-java-programs-a-back-to-
basics-approach-4th-edition-reges-solutions-manual/
https://testbankfan.com/product/building-java-programs-3rd-edition-
reges-test-bank/
https://testbankfan.com/product/medical-terminology-a-word-building-
approach-7th-edition-rice-test-bank/
https://testbankfan.com/product/basics-of-media-writing-a-strategic-
approach-2nd-edition-kuehn-test-bank/
Research Methods For Business A Skill Building Approach
7th Edition Sekaran Test Bank
https://testbankfan.com/product/research-methods-for-business-a-skill-
building-approach-7th-edition-sekaran-test-bank/
https://testbankfan.com/product/designing-and-managing-programs-an-
effectiveness-based-approach-5th-edition-kettner-test-bank/
https://testbankfan.com/product/business-and-society-a-strategic-
approach-to-social-responsibility-4th-edition-thorne-test-bank/
https://testbankfan.com/product/medical-terminology-for-health-care-
professionals-a-word-building-approach-9th-edition-rice-test-bank/
https://testbankfan.com/product/java-foundations-introduction-to-
program-design-and-data-structures-4th-edition-lewis-test-bank/
Sample Final Exam #6
(Summer 2008; thanks to Hélène Martin)
1. Array Mystery
Consider the following method:
public static void arrayMystery(String[] a) {
for (int i = 0; i < a.length; i++) {
a[i] = a[i] + a[a.length - 1 - i];
}
}
Indicate in the right-hand column what values would be stored in the array after the method arrayMystery executes
if the array in the left-hand column is passed as a parameter to it.
Original Contents of Array Final Contents of Array
String[] a1 = {"a", "b", "c"};
arrayMystery(a1); _____________________________
1 of 9
2. Reference Semantics Mystery
The following program produces 4 lines of output. Write the output below, as it would appear on the console.
public class Pokemon {
int level;
battle(squirtle, hp);
System.out.println("Level " + squirtle.level + ", " + hp + " hp");
hp = hp + squirtle.level;
battle(squirtle, hp + 1);
System.out.println("Level " + squirtle.level + ", " + hp + " hp");
}
2 of 9
3. Inheritance Mystery
Assume that the following classes have been defined:
3 of 9
4. File Processing
Write a static method evaluate that accepts as a parameter a Scanner containing a series of tokens representing a
numeric expression involving addition and subtraction and that returns the value of the expression. For example, if a
Scanner called data contains the following tokens:
4.2 + 3.4 - 4.1
The call of evaluate(data); should evaluate the result as (4.2+3.4-4.1) = (7.6-4.1) = 3.5 and should return this
value as its result. Every expression will begin with a real number and then will have a series of operator/number
pairs that follow. The operators will be either + (addition) or - (subtraction). As in the example above, there will be
spaces separating numbers and operators. You may assume the expression is legal.
Your program should evaluate operators sequentially from left to right. For example, for this expression:
7.3 - 4.1 - 2.0
your method should evaluate the operators as follows:
7.3 - 4.1 - 2.0 = (7.3 - 4.1) - 2.0 = 3.2 - 2.0 = 1.2
The Scanner might contain just a number, in which case your method should return that number as its result.
4 of 9
5. File Processing
Write a static method blackjack that accepts as its parameter a Scanner for an input file containing a hand of
playing cards, and returns the point value of the hand in the card game Blackjack.
A card has a rank and a suit. There are 13 ranks: Ace, 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, and King. There are 4
suits: Clubs, Diamonds, Hearts, and Spades. A Blackjack hand's point value is the sum of its cards' point values. A
card's point value comes from its rank; the suit is irrelevant. In this problem, cards are worth the following points:
Rank Point Value
2-10 The card's rank (for example, a 7 is worth 7 points)
Jack (J), Queen (Q), King (K) 10 points each
Ace (A) 11 points (for this problem; simplified compared to real Blackjack)
The input file contains a single hand of cards, each represented by a pair of "<rank> <suit>" tokens. For example:
5 Diamonds
Q Spades
2 Spades 3 Hearts
Given the above input, your method should return 20, since the cards' point values are 5 + 10 + 2 + 3 = 20.
The input can be in mixed casing, have odd spacing between tokens, and can be split across lines. For example:
2 Hearts
j SPADES a Diamonds
2 ClUbS
A
hearts
Given the above input, your method should return 36, since the cards' point values are 2 + 10 + 11 + 2 + 11 = 36.
You may assume that the Scanner contains at least 1 card (two tokens) of input, and that no line will contain any
tokens other than valid card data. The real game of Blackjack has many other rules that you should ignore for this
problem, such as the notion of going "bust" once you exceed a score of 21.
5 of 9
6. Array Programming
Write a static method named allPlural that accepts an array of strings as a parameter and returns true only if
every string in the array is a plural word, and false otherwise. For this problem a plural word is defined as any
string that ends with the letter S, case-insensitively. The empty string "" is not considered a plural word, but the
single-letter string "s" or "S" is. Your method should return true if passed an empty array (one with 0 elements).
The table below shows calls to your method and the expected values returned:
Array Call and Value Returned
String[] a1 = {"snails", "DOGS", "Cats"}; allPlural(a1) returns true
String[] a2 = {"builds", "Is", "S", "THRILLs", "CS"}; allPlural(a2) returns true
String[] a3 = {}; allPlural(a3) returns true
String[] a4 = {"She", "sells", "sea", "SHELLS"}; allPlural(a4) returns false
String[] a5 = {"HANDS", "feet", "toes", "OxEn"}; allPlural(a5) returns false
String[] a6 = {"shoes", "", "socks"}; allPlural(a6) returns false
For full credit, your method should not modify the array's elements.
6 of 9
7. Array Programming
Write a static method named reverseChunks that accepts two parameters, an array of integers a and an integer
"chunk" size s, and reverses every s elements of a. For example, if s is 2 and array a stores {1, 2, 3, 4, 5, 6},
a is rearranged to store {2, 1, 4, 3, 6, 5}. With an s of 3 and the same elements {1, 2, 3, 4, 5, 6}, array
a is rearranged to store {3, 2, 1, 6, 5, 4}. The chunks on this page are underlined for convenience.
If a's length is not evenly divisible by s, the remaining elements are untouched. For example, if s is 4 and array a
stores {5, 4, 9, 2, 1, 7, 8, 6, 2, 10}, a is rearranged to store {2, 9, 4, 5, 6, 8, 7, 1, 2, 10}.
It is also possible that s is larger than a's entire length, in which case the array is not modified at all. You may assume
that s is 1 or greater (an s of 1 would not modify the array). If array a is empty, its contents should remain unchanged.
The following table shows some calls to your method and their expected results:
Array and Call Array Contents After Call
int[] a1 = {20, 10, 30, 60, 50, 40}; {10, 20, 60, 30, 40, 50}
reverseChunks(a1, 2);
int[] a2 = {2, 4, 6, 8, 10, 12, 14, 16}; {6, 4, 2, 12, 10, 8, 14, 16}
reverseChunks(a2, 3);
int[] a3 = {7, 1, 3, 5, 9, 8, 2, 6, 4, 10, 0, 12}; {9, 5, 3, 1, 7, 10, 4, 6, 2, 8, 0, 12}
reverseChunks(a3, 5);
int[] a4 = {1, 2, 3, 4, 5, 6}; {1, 2, 3, 4, 5, 6}
reverseChunks(a4, 8);
int[] a5 = {}; {}
reverseChunks(a5, 2);
7 of 9
8. Critters
Write a class Minnow that extends Critter from HW8, along with its movement and eating behavior. All other
aspects of Minnow use the defaults. Add fields, constructors, etc. as necessary to your class.
Minnow objects initially move in a S/E/S/E/... pattern. However, when a Minnow encounters food (when its eat
method is called), it should do all of the following:
• Do not eat the food.
• Start the movement cycle over. In other words, the next move after eat is called should always be South.
• Lengthen and reverse the horizontal portion of the movement cycle pattern.
The Minnow should reverse its horizontal direction and increase its horizontal movement distance by 1 for
subsequent cycles. For example, if the Minnow had been moving S/E/S/E, it will now move S/W/W/S/W/W. If
it hits a second piece of food, it will move S/E/E/E/S/E/E/E, and a third, S/W/W/W/W/S/W/W/W/W, and so on.
?
The following is an example timeline of a particular Minnow object's movement. The ??
timeline below is also drawn in the diagram at right. Underlined occurrences mark squares ??
where the Minnow found food. ???
???
• S, E, S, E (hits food) ?
????
• S, W, W, S, W, W, S (hits food) ????
• S, E, E, E, S, E, E, E, S, E (hits food) ??
• S (hits food) ?
??????
• S, E, E, E, E, E, S, E, E, E, E, E, ...
8 of 9
9. Classes and Objects
Suppose that you are provided with a pre-written class Date as // Each Date object stores a single
described at right. (The headings are shown, but not the method // month/day such as September 19.
bodies, to save space.) Assume that the fields, constructor, and // This class ignores leap years.
methods shown are already implemented. You may refer to them
or use them in solving this problem if necessary. public class Date {
private int month;
Write an instance method named bound that will be placed inside private int day;
the Date class to become a part of each Date object's behavior.
The bound method constrains a Date to within a given range of // Constructs a date with
dates. It accepts two other Date objects d1 and d2 as parameters; // the given month and day.
public Date(int m, int d)
d1's date is guaranteed to represent a date that comes no later in
the year than d2's date. // Returns the date's day.
The bound method makes sure that this Date object is between public int getDay()
d1's and d2's dates, inclusive. If this Date object is not between
// Returns the date's month.
those dates inclusive, it is adjusted to the nearest date in the public int getMonth()
acceptable range. The method returns a result of true if this
Date was within the acceptable range, or false if it was shifted. // Returns the number of days
// in this date's month.
For example, given the following Date objects: public int daysInMonth()
Date date1 = new Date(7, 12);
Date date2 = new Date(10, 31); // Modifies this date's state
Date date3 = new Date(9, 19); // so that it has moved forward
Date bound1 = new Date(8, 4); // in time by 1 day, wrapping
Date bound2 = new Date(9, 26); // around into the next month
Date bound3 = new Date(12, 25); // or year if necessary.
// example: 9/19 -> 9/20
The following calls to your method should adjust the given Date // example: 9/30 -> 10/1
objects to represent the following dates and should return the // example: 12/31 -> 1/1
following results: public void nextDay()
call date becomes returns
date1.bound(bound1, bound2) 8/4 false
// your method would go here
date2.bound(bound1, bound2) 9/26 false
date3.bound(bound1, bound3) 9/19 true }
date2.bound(bound3, bound3) 12/25 false
9 of 9
Exploring the Variety of Random
Documents with Different Content
situation: the two houses, built the entire depth of the lots, touched
at the rear, while the fronts of the houses faced upon two streets
that ran parallel to each other at a distance of more than sixty
metres apart.
He found the concierge and, showing his card, enquired:
“Did four men pass here just now?”
“Yes; the two servants from the fourth and fifth floors, with two
friends.”
“Who lives on the fourth and fifth floors?”
“Two men named Fauvel and their cousins, whose name is
Provost. They moved to-day, leaving the two servants, who went
away just now.”
“Ah!” thought Ganimard; “what a grand opportunity we have
missed! The entire band lived in these houses.”
And he sank down on a chair in despair.
“Monsieur,
“I desire the benefit of your services and
experience. I have been the victim of a serious theft,
and the investigation has as yet been unsuccessful. I
am sending to you by this mail a number of
newspapers which will inform you of the affair, and if
you will undertake the case, I will place my house at
your disposal and ask you to fill in the enclosed check,
signed by me, for whatever sum you require for your
expenses.
“Kindly reply by telegraph, and much oblige,
“Ah!” exclaimed Sholmes, “that sounds good ... a little trip to Paris
... and why not, Wilson? Since my famous duel with Arsène Lupin, I
have not had an excuse to go there. I should be pleased to visit the
capital of the world under less strenuous conditions.”
He tore the check into four pieces and, while Wilson, whose arm
had not yet regained its former strength, uttered bitter words
against Paris and the Parisians, Sholmes opened the second
envelope. Immediately, he made a gesture of annoyance, and a
wrinkle appeared on his forehead during the reading of the letter;
then, crushing the paper into a ball, he threw it, angrily, on the floor.
“Well? What’s the matter?” asked Wilson, anxiously.
He picked up the ball of paper, unfolded it, and read, with
increasing amazement:
ARSÈNE LUPIN.”
“ARSÈNE LUPIN.”
Sholmes made a gesture of indignation and handed the message
to the baron, saying:
“What do you think now, monsieur? Are the walls of your house
furnished with eyes and ears?”
“I don’t understand it,” said the baron, in amazement.
“Nor do I; but I do understand that Lupin has knowledge of
everything that occurs in this house. He knows every movement,
every word. There is no doubt of it. But how does he get his
information? That is the first mystery I have to solve, and when I
know that I will know everything.”
That night, Wilson retired with the clear conscience of a man who
has performed his whole duty and thus acquired an undoubted right
to sleep and repose. So he fell asleep very quickly, and was soon
enjoying the most delightful dreams in which he pursued Lupin and
captured him single-handed; and the sensation was so vivid and
exciting that it woke him from his sleep. Someone was standing at
his bedside. He seized his revolver, and cried:
“Don’t move, Lupin, or I’ll fire.”
“The deuce! Wilson, what do you mean?”
“Oh! it is you, Sholmes. Do you want me?”
“I want to show you something. Get up.”
Sholmes led him to the window, and said:
“Look!... on the other side of the fence....”
“In the park?”
“Yes. What do you see?”
“I don’t see anything.”
“Yes, you do see something.”
“Ah! of course, a shadow ... two of them.”
“Yes, close to the fence. See, they are moving. Come, quick!”
Quickly they descended the stairs, and reached a room which
opened into the garden. Through the glass door they could see the
two shadowy forms in the same place.
“It is very strange,” said Sholmes, “but it seems to me I can hear a
noise inside the house.”
“Inside the house? Impossible! Everybody is asleep.”
“Well, listen——”
At that moment a low whistle came from the other side of the
fence, and they perceived a dim light which appeared to come from
the house.
“The baron must have turned on the light in his room. It is just
above us.”
“That must have been the noise you heard,” said Wilson. “Perhaps
they are watching the fence also.”
Then there was a second whistle, softer than before.
“I don’t understand it; I don’t understand,” said Sholmes, irritably.
“No more do I,” confessed Wilson.
Sholmes turned the key, drew the bolt, and quietly opened the
door. A third whistle, louder than before, and modulated to another
form. And the noise above their heads became more pronounced.
Sholmes said:
“It seems to be on the balcony outside the boudoir window.”
He put his head through the half-opened door, but immediately
recoiled, with a stifled oath. Then Wilson looked. Quite close to them
there was a ladder, the upper end of which was resting on the
balcony.
“The deuce!” said Sholmes, “there is someone in the boudoir. That
is what we heard. Quick, let us remove the ladder.”
But at that instant a man slid down the ladder and ran toward the
spot where his accomplices were waiting for him outside the fence.
He carried the ladder with him. Sholmes and Wilson pursued the
man and overtook him just as he was placing the ladder against the
fence. From the other side of the fence two shots were fired.
“Wounded?” cried Sholmes.
“No,” replied Wilson.
Wilson seized the man by the body and tried to hold him, but the
man turned and plunged a knife into Wilson’s breast. He uttered a
groan, staggered and fell.
“Damnation!” muttered Sholmes, “if they have killed him I will kill
them.”
He laid Wilson on the grass and rushed toward the ladder. Too late
—the man had climbed the fence and, accompanied by his
confederates, had fled through the bushes.
“Wilson, Wilson, it is not serious, hein? Merely a scratch.”
The house door opened, and Monsieur d’Imblevalle appeared,
followed by the servants, carrying candles.
“What’s the matter?” asked the baron. “Is Monsieur Wilson
wounded?”
“Oh! it’s nothing—a mere scratch,” repeated Sholmes, trying to
deceive himself.
The blood was flowing profusely, and Wilson’s face was livid.
Twenty minutes later the doctor ascertained that the point of the
knife had penetrated to within an inch and a half of the heart.
“An inch and a half of the heart! Wilson always was lucky!” said
Sholmes, in an envious tone.
“Lucky ... lucky....” muttered the doctor.
“Of course! Why, with his robust constitution he will soon be out
again.”
“Six weeks in bed and two months of convalescence.”
“Not more?”
“No, unless complications set in.”
“Oh! the devil! what does he want complications for?”
Fully reassured, Sholmes joined the baron in the boudoir. This
time the mysterious visitor had not exercised the same restraint.
Ruthlessly, he had laid his vicious hand upon the diamond snuff-box,
upon the opal necklace, and, in a general way, upon everything that
could find a place in the greedy pockets of an enterprising burglar.
The window was still open; one of the window-panes had been
neatly cut; and, in the morning, a summary investigation showed
that the ladder belonged to the house then in course of construction.
“Now, you can see,” said Mon. d’Imblevalle, with a touch of irony,
“it is an exact repetition of the affair of the Jewish lamp.”
“Yes, if we accept the first theory adopted by the police.”
“Haven’t you adopted it yet? Doesn’t this second theft shatter your
theory in regard to the first?”
“It only confirms it, monsieur.”
“That is incredible! You have positive evidence that last night’s
theft was committed by an outsider, and yet you adhere to your
theory that the Jewish lamp was stolen by someone in the house.”
“Yes, I am sure of it.”
“How do you explain it?”
“I do not explain anything, monsieur; I have established two facts
which do not appear to have any relation to each other, and yet I am
seeking the missing link that connects them.”
His conviction seemed to be so earnest and positive that the baron
submitted to it, and said:
“Very well, we will notify the police——”
“Not at all!” exclaimed the Englishman, quickly, “not at all! I intend
to ask for their assistance when I need it—but not before.”
“But the attack on your friend?”
“That’s of no consequence. He is only wounded. Secure the
license of the doctor. I shall be responsible for the legal side of the
affair.”
The next two days proved uneventful. Yet Sholmes was
investigating the case with a minute care, and with a sense of
wounded pride resulting from that audacious theft, committed under
his nose, in spite of his presence and beyond his power to prevent it.
He made a thorough investigation of the house and garden,
interviewed the servants, and paid lengthy visits to the kitchen and
stables. And, although his efforts were fruitless, he did not despair.
“I will succeed,” he thought, “and the solution must be sought
within the walls of this house. This affair is quite different from that
of the blonde Lady, where I had to work in the dark, on unknown
ground. This time I am on the battlefield itself. The enemy is not the
elusive and invisible Lupin, but the accomplice, in flesh and blood,
who lives and moves within the confines of this house. Let me
secure the slightest clue and the game is mine!”
That clue was furnished to him by accident.
On the afternoon of the third day, when he entered a room
located above the boudoir, which served as a study for the children,
he found Henriette, the younger of the two sisters. She was looking
for her scissors.
“You know,” she said to Sholmes, “I make papers like that you
received the other evening.”
“The other evening?”
“Yes, just as dinner was over, you received a paper with marks on
it ... you know, a telegram.... Well, I make them, too.”
She left the room. To anyone else these words would seem to be
nothing more than the insignificant remark of a child, and Sholmes
himself listened to them with a distracted air and continued his
investigation. But, suddenly, he ran after the child, and overtook her
at the head of the stairs. He said to her:
“So you paste stamps and marks on papers?”
Henriette, very proudly, replied:
“Yes, I cut them out and paste them on.”
“Who taught you that little game?”