Java Reference
In-Depth Information
***10.8
(
Financial: the
Tax
class
) Programming Exercise 8.12 writes a program for
computing taxes using arrays. Design a class named
Tax
to contain the follow-
ing instance data fields:
■
int filingStatus
: One of the four tax-filing statuses:
0
—single filer,
1
—
married filing jointly or qualifying widow(er),
2
—married filing separately,
and
3
—head of household. Use the public static constants
SINGLE_FILER
(
0
),
MARRIED_JOINTLY_OR_QUALIFYING_WIDOW(ER)
(
1
),
MARRIED_
SEPARATELY
(
2
),
HEAD_OF_HOUSEHOLD
(
3
) to represent the statuses.
■
int[][] brackets
: Stores the tax brackets for each filing status.
■
double[] rates
: Stores the tax rates for each bracket.
■
double taxableIncome
: Stores the taxable income.
Provide the getter and setter methods for each data field and the
getTax()
method that returns the tax. Also provide a no-arg constructor and the construc-
tor
Tax(filingStatus, brackets, rates, taxableIncome)
.
Draw the UML diagram for the class and then implement the class. Write a test
program that uses the
Tax
class to print the 2001 and 2009 tax tables for taxable
income from $50,000 to $60,000 with intervals of $1,000 for all four statuses.
The tax rates for the year 2009 were given in Table 3.2. The tax rates for 2001
are shown in Table 10.1.
T
ABLE
10.1
2001 United States Federal Personal Tax Rates
Married filing jointly
or qualifying widow(er)
Married filing
separately
Tax rate
Single filers
Head of household
15%
Up to $27,050
Up to $45,200
Up to $22,600
Up to $36,250
27.5%
$27,051-$65,550
$45,201-$109,250
$22,601-$54,625
$36,251-$93,650
30.5%
$65,551-$136,750
$109,251-$166,500
$54,626-$83,250
$93,651-$151,650
35.5%
$136,751-$297,350
$166,501-$297,350
$83,251-$148,675
$151,651-$297,350
39.1%
$297,351 or more
$297,351 or more
$ 148,676 or more
$297,351 or more
**10.9
(
The
Course
class
) Revise the
Course
class as follows:
The array size is fixed in Listing 10.6. Improve it to automatically increase
the array size by creating a new larger array and copying the contents of the
current array to it.
■
Implement the
dropStudent
method.
■
■
Add a new method named
clear()
that removes all students from the
course.
Write a test program that creates a course, adds three students, removes one,
and displays the students in the course.
*10.10
(
The
Queue
class
) Section 10.6 gives a class for
Stack
. Design a class named
Queue
for storing integers. Like a stack, a queue holds elements. In a stack, the
elements are retrieved in a last-in first-out fashion. In a queue, the elements are
retrieved in a first-in first-out fashion. The class contains:
An
int[]
data field named
elements
that stores the
int
values in the
queue.
■
A data field named
size
that stores the number of elements in the queue.
■
A constructor that creates a
Queue
object with default capacity
8
.
■
The method
enqueue(int v)
that adds
v
into the queue.
■
Search WWH ::
Custom Search