Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

CS 4150 Homework 6

Due Date: 9/29/2021 11:59 pm Total points: 30 points (3 problems)

Problem 1 9.7 (The Account class) (10 points)

Account

-id: int
-balance: double
-annualInterestRate : double
-dateCreated : Date

+Account( )
+Account(someId : int, someBalance : double)
+getId() : int
+setId(newId : int) : void
+getBalance() : double
+setBalance(newBalance : double) : void
+getAnnualInterestRate( ) : double
+setAnnualInterestRate(newRate : double) : void
+getDateCreated( ) : Date
+getMonthlyInterestRate( ) : double
+getMonthlyInterest( ) : double
+withdraw(amt : double) : void
+deposit(amt : double) : void

Design a class named Account that contains:


■ A private int data field named id for the account (default 0).
■ A private double data field named balance for the account (default 0).
■ A private double data field named annualInterestRate that stores the current interest rate (default 0).
Assume all accounts have the same interest rate. Make it static.
■ A private Date data field named dateCreated that stores the date when the account was created.
(private Date dateCreated) You will need to do dateCreated = new Date( ) in your constructor to
initialize the dateCreated property.
■ A no-arg constructor that creates a default account.
■ A constructor that creates an account with the specified id and initial balance. The property
annualInterestRate will be set by the test program and not through the constructor.
■ The accessor and mutator methods for id, balance, and annualInterestRate.
■ The accessor method for dateCreated.
■ A method named getMonthlyInterestRate() that returns the monthly interest rate.
■ A method named getMonthlyInterest() that returns the money earned in a month.
Page 1 of 3
■ A method named withdraw that withdraws a specified amount from the account.
■ A method named deposit that deposits a specified amount to the account.

(Hints: The method getMonthlyInterest() is to return monthly interest, not the interest rate- the amount
earned in one month. Monthly interest is balance * monthlyInterestRate. monthlyInterestRate is
annualInterestRate / 12. Note that annualInterestRate is a percentage, e.g.,like 4.5%. You need to divide
it by 100.)

Write a test program that creates an Account object with an account ID of 1122,
a balance of $20,000, and an annual interest rate of 4.5%. Use the withdraw
method to withdraw $2,500, use the deposit method to deposit $3,000, and print
the balance, the monthly interest, and the date when this account was created and again after the deposit and
withdraw.

Problem 2 9.9 Geometry: n-sided regular polygon (10 points)

9.9 (Geometry: n-sided regular polygon) In an n-sided regular polygon, all sides have the same length and all
angles have the same degree (i.e., the polygon is both equilateral and equiangular). Design a class named
RegularPolygon that contains:
• A private int data field named n that defines the number of sides in the polygon with default value of 3.
• A private double data field named side that stores the length of the side with default value of 1.
• A private double data field named x that defines the x-coordinate of the polygon’s center with default
value of 0.
• A private double data field named y that defines the y-coordinate of the polygon’s center with default
value of 0.
• A no-arg constructor that creates a regular polygon with default values.
• A constructor that creates a regular polygon with the specified number of sides and length of side,
centered at (0 , 0 ).
• A constructor that creates a regular polygon with the specified number of sides, length of side, and x-
and y-coordinates.
• Create a get and set method for each of the properties.
• The method getPerimeter() that returns the perimeter of the polygon.
• The method getArea() that returns the area of the polygon. The formula for computing the area of a
regular polygon is Area=(n * side * side) / (Math.tan(Math.PI / n) * 4)
• Write a test program that creates three RegularPolygon objects, created using the no-arg constructor,
using RegularPolygon(6, 4) , and using RegularPolygon(10, 4, 5.6, 7.8) . For each object, display its
perimeter and area.

Problem 3 on next page….


Page 2 of 3
Problem 3 9.11 Algebra 2x2 linear equations (10 points)
Design a class named LinearEquation for a 2-by-2 system of linear equations:

ax + by = e x = (ed – bf)/ (ad – bc)


cx + dy = f y = (af – ec)/ (ad – bc)
The class contains:

• Private double data fields a, b, c, d, e, and f.


• A constructor with the arguments for a, b, c, d, e, and f.
• Six getter methods for a, b, c, d, e, and f.
• Methods getX() and getY() that return the solution for the equation.
• A method named isSolvable() that returns true if ad - bc is not 0. The method isSolvable() will
be called in the main, if it returns true display the calculated values for x and y by calling getX()
and getY(). If the call to isSolvable() returns false, display a message that “the equation has no
solution”.

Write a test program that prompts the user to enter a, b, c, d, e, and f and displays the result. After the values
for a through f are entered, create a LinearEquation object. Check to see
If ad - bc is 0, report that “The equation has no solution”, otherwise print out the values for x and y.

Page 3 of 3

You might also like