Java Reference
In-Depth Information
Self-Test Exercises
12. What is the output of the following program?
public
class
Exercise12
{
public
static
void
main(String[] args)
{
System.out.println(mystery(3));
}
public static int
mystery(
int
n)
{
if
(n <= 1)
return
1;
else
return
( mystery(n
−
1) + n );
}
}
13. What is the output of the following program? What well-known mathematical
method is
rose
?
public
class
Exercise13
{
public
static
void
main(String[] args)
{
System.out.println(rose(4));
}
public
static
int
rose(
int
n)
{
if
(n <= 0)
return
1;
else
return
( rose(n
−
1) * n );
}
}
14. Redefine the method
power
(Display 11.3) so that it also works for negative
exponents. To do this, you also have to change the type of the value returned
to
double
. The method heading for the redefined version of
power
is as follows:
/**
Precondition: If n < 0, then x is not 0.
Returns x to the power n.
*/
public static double
power(
int
x,
int
n)
Hint:
x
−
n
is equal to 1/(
x
n
).