Exercises - SIUE Computer Science

Exercises: 1. Write a program in a class NumberAboveAverage that counts the
number of days that the temperature is above average. Read ten temperatures
from the keyboard and place them in an ... See the code in
NumberAboveAverage.java. ..... This method is discussed in Chapter 6 in the
section ?Wrapper Classes.? ...

Part of the document


Exercises:


1. Write a program in a class NumberAboveAverage that counts the number of
days that the temperature is above average. Read ten temperatures from the
keyboard and place them in an array. Compute the average temperature and
then count and display the number of days on which the temperature was
above average.

|Solution: |
| |
|See the code in NumberAboveAverage.java. |

2. Write a program in a class CountFamiles that counts the number of
families whose income is below a certain value. Read an integer k from the
keyboard and then create an array of double values of size k. Read k values
representing family income from the keyboard and place them into the array.
Find the maximum income among these values. Then count the families that
make less than 10 percent of this maximum income. Display this count and
the incomes of these families.

|Solution: |
| |
|See the code in CountFamilies.java. |

3. Write a program in a class CountPoor that counts the number of families
that are considered poor. Write and use a class Family that has the
attributes
. income-a double value that is the income for the family
. size-the number of people in the family and the following methods:
. Family(income, size)-a constructor that sets the attributes
. isPoor(housingCost, foodCost)-a method that returns true if housingCost +
foodCost * size is greater than half the family income (foodCost is the
average food cost for an individual, while housingCost is for the family)
. toString-a method that returns a string containing the information about
the family The program should read an integer k from the keyboard and then
create an array of size k whose base type is Family. It should then create
k objects of type Family and put them in the array, reading the income and
size for each family from the keyboard. After reading an average housing
cost and average food cost from the keyboard, it should display the
families that are poor.

|Solution: |
| |
|See the code in Family.java and CountPoor.java. |

4. Write a program in a class FlowerCounter that computes the cost of
flowers sold at a flower stand. Five kinds of flowers-petunia, pansy, rose,
violet, and carnation- are stocked and cost, respectively, 50¢, 75¢, $1.50,
50¢, and 80¢ per flower. Create an array of strings that holds the names of
these flowers. Create another array that holds the cost of each
corresponding flower. Your program should read the name of a flower and the
quantity desired by a customer. Locate the flower in the name array and use
that index to find the cost per stem in the cost array. Compute and print
the total cost of the sale.

|Solution: |
| |
|See the code in FlowerCounter.java. |

5. Write a program in a class CharacterFrequency that counts the number of
times a digit appears in a telephone number. Your program should create an
array of size 10 that will hold the count for each digit from 0 to 9. Read
a telephone number from the keyboard as a string. Examine each character in
the phone number and increment the appropriate count in the array. Display
the contents of the array.

|Solution: |
| |
|See the code in CharacterFrequency.java. |

6. Create a class Ledger that will record the sales for a store. It will
have the attributes
. sale-an array of double values that are the amounts of all sales
. salesMade-the number of sales so far
. maxSales-the maximum number of sales that can be recorded
and the following methods:
. Ledger(max)-a constructor that sets the maximum number of sales to max
. addSale(d)-adds a sale whose value is d
. getNumberOfSales-returns the number of sales made
. getTotalSales-returns the total value of the sales

|Solution: |
| |
|See the code in Ledger.java. |

7. Define the following methods for the class Ledger, as described in the
previous exercise:
. getAverageSale()-returns the average value of all the sales
. getCountAbove(v)-returns the number of sales that exceeded v in value

|Solution: |
| |
|See the code in Ledger.java. |

8. Write a static method isStrictlyIncreasing(double[] in) that returns
true if each value in the given array is greater than the value before it,
or false otherwise.

|Solution: |
| |
|public static boolean isStrictlyIncreasing(double[] in) { |
|boolean result = true; |
|for(int i=0; i< (in.length - 1); i++){ |
|if(in[i+1]