Java Reference
In-Depth Information
15.1.6
Self-review exercises
SR1.
Define the term
ancestor
recursively —the way
noun phrase
was defined
in Sec. 15.1.1.
SR2.
Define the syntax of decimal integers, like 5432 and 041, recursively.
The rest of these exercises ask you to write small recursive methods, which are
quite similar to those developed in this Sec. 15.1. For each, we give a specifica-
tion and method header. Write each one and then test it. It does no good to write
a function that you think is right but is wrong. When testing, first write calls that
test the base case; then slowly work your way up to calls with larger arguments.
SR3.
/**
Set each array element
b[i]
of
b[h..n]
to
i */
public static void
setToI(
int
[] b,
int
h,
int
n)
SR4.
/**
Print the squares of the integers in the range
h..n
.
*/
public static void
printSquares(
int
h,
int
n)
SR5.
/**
Print
n
if it is not divisible by an integer in the range
h..k */
public static void
printIfNot(
int
n,
int
h,
int
k)
SR6.
/**
Print
x
if it is one of the values
b[h..] */
public static void
printX(
int
[] b,
int
x,
int
h)
SR7.
/**
Print
n
if it is divisible by an integer in the range
h..k */
public static void
printIf(
int
n,
int
h,
int
k)
SR8.
/**
Print the square of the integers in the range
0..n
in descending order of values in the range
*/
public static void
printSquares(
int
n)
SR9.
/**
Set every element of
b[h..]
with even index to zero
*/
public static void
zeroEven(
int
[] b,
int
h)
SR10.
/**
Print
5
if it is in b[
h..k] */
public static void
printIf5(
int[]
b,
int
h,
int
k)
SR11.
/** = s
with each char duplicated, e.g.
dup("bcd")
is
"bbccdd" */
public static
String dup(String s)
SR12.
/** =
sum of the characters in
s
(each character is a digit)
*/
public static int
sumChars(String s)
SR13.
/** = s
with each character lower-cased
*/
public static
String lowerCase(String s)
SR14.
/** = s
with every adjacent pair of characters swapped
(e.g.
swapPairs("abcde")
is
"badce" */
public static int
swapPairs(String s)
Search WWH ::
Custom Search