Java Reference
In-Depth Information
Each state can also be represented using a binary number. For example, the pre-
ceding matrices correspond to the numbers
000010000 101001100 110100001 101110100 100111110
There are a total of 512 possibilities, so you can use decimal numbers 0, 1, 2,
3, . . . , and 511 to represent all states of the matrix. Write a program that prompts
the user to enter a number between 0 and 511 and displays the corresponding
matrix with the characters H and T . Here is a sample run:
Enter a number between 0 and 511:
H H H
H H H
T T T
7
The user entered 7 , which corresponds to 000000111 . Since 0 stands for H and 1
for T , the output is correct.
**7.12
( Financial application: compute tax ) Rewrite Listing 3.6, ComputeTax.java, using
arrays. For each filing status, there are six tax rates. Each rate is applied to a cer-
tain amount of taxable income. For example, from the taxable income of $400,000
for a single filer, $8,350 is taxed at 10%, (33,950 - 8,350) at 15%, (82,250 -
33,950) at 25%, (171,550 - 82,550) at 28%, (372,550 - 82,250) at 33%, and
(400,000 - 372,950) at 36%. The six rates are the same for all filing statuses,
which can be represented in the following array:
double [] rates = { 0.10 , 0.15 , 0.25 , 0.28 , 0.33 , 0.35 };
The brackets for each rate for all the filing statuses can be represented in a two-
dimensional array as follows:
int [][] brackets = {
{ 8350 , 33950 , 82250 , 171550 , 372950 }, // Single filer
{ 16700 , 67900 , 137050 , 20885 , 372950 }, // Married jointly
// or qualifying widow(er)
{ 8350 , 33950 , 68525 , 104425 , 186475 }, // Married separately
{ 11950 , 45500 , 117450 , 190200 , 372950 } // Head of household
};
Suppose the taxable income is $400,000 for single filers. The tax can be computed
as follows:
tax = brackets[ 0 ][ 0 ] * rates[ 0 ] +
(brackets[ 0 ][ 1 ] - brackets[ 0 ][ 0 ]) * rates[ 1 ] +
(brackets[ 0 ][ 2 ] - brackets[ 0 ][ 1 ]) * rates[ 2 ] +
(brackets[ 0 ][ 3 ] - brackets[ 0 ][ 2 ]) * rates[ 3 ] +
(brackets[ 0 ][ 4 ] - brackets[ 0 ][ 3 ]) * rates[ 4 ] +
( 400000 - brackets[ 0 ][ 4 ]) * rates[ 5 ]
*7.13
( Locate the largest element ) Write the following method that returns the location
of the largest element in a two-dimensional array.
public static int [] locateLargest( double [][] a)
The return value is a one-dimensional array that contains two elements. These
two elements indicate the row and column indices of the largest element in the
two-dimensional array. Write a test program that prompts the user to enter a
 
Search WWH ::




Custom Search