Determines whether to accept an object.

Assignment Help C/C++ Programming
Reference no: EM13939848

Declare an interface Filter as follows:

public interface Filter
{
boolean accept(Object x);
}

Modify the implementation of the DataSet class in Section to use both a Measurer and a Filter object. Only objects that the filter accepts should be processed. Demonstrate your modification by having a data set process a collection of bank accounts, filtering out all accounts with balances less than $1,000.

You need to supply the following class in your solution:
DataSet

Use the following class as your tester class:
/**
This program tests the use of a Measurer and a Filter.
*/
public class DataSetTester
{
public static void main(String[] args)
{
class BankMeasurer implements Measurer
{
public double measure(Object anObject)
{
BankAccount ba = (BankAccount) anObject;
return ba.getBalance();
}
}

class BankFilter implements Filter
{
public boolean accept(Object x)
{
BankAccount ba = (BankAccount) x;
return ba.getBalance() > 1000;
}
}

Measurer m = new BankMeasurer();
Filter f = new BankFilter();
DataSet data = new DataSet(m, f);

data.add(new BankAccount(1));
data.add(new BankAccount(100));
data.add(new BankAccount(2000));
data.add(new BankAccount(950));
data.add(new BankAccount(4000));

System.out.println("Average balance: " + data.getAverage());
System.out.println("Expected: 3000");

BankAccount b = (BankAccount) data.getMaximum();
double balance = b.getBalance();
System.out.println("Highest balance: " + balance);
System.out.println("Expected: 4000");
}
}

DO NOT MODIFY THE FOLLOWING
/**
A bank account has a balance that can be changed by
deposits and withdrawals.
*/
public class BankAccount
{
private double balance;

/**
Constructs a bank account with a zero balance.
*/
public BankAccount()
{
balance = 0;
}

/**
Constructs a bank account with a given balance.
@param initialBalance the initial balance
*/
public BankAccount(double initialBalance)
{
balance = initialBalance;
}

/**
Deposits money into the bank account.
@param amount the amount to deposit
*/
public void deposit(double amount)
{
double newBalance = balance + amount;
balance = newBalance;
}

/**
Withdraws money from the bank account.
@param amount the amount to withdraw
*/
public void withdraw(double amount)
{
double newBalance = balance - amount;
balance = newBalance;
}

/**
Gets the current balance of the bank account.
@return the current balance
*/
public double getBalance()
{
return balance;
}
}
DO NOT MODIFY THE FOLLOWING
/**
Describes any class whose objects can measure other objects.
*/
public interface Measurer
{
/**
Computes the measure of an object.
@param anObject the object to be measured
@return the measure
*/
double measure(Object anObject);
}

DO NOT MODIFY THE FOLLOWING

public interface Filter
{
/**
Determines whether to accept an object.
@param x the object to be filtered
@return true to accept an object, false otherwise
*/
boolean accept(Object x);
}
DO NOT MODIFY THE FOLLOWING

/**
This program tests the use of a Measurer and a Filter.
*/
public class DataSetTester
{
public static void main(String[] args)
{
class BankMeasurer implements Measurer
{
public double measure(Object anObject)
{
BankAccount ba = (BankAccount) anObject;
return ba.getBalance();
}
}

class BankFilter implements Filter
{
public boolean accept(Object x)
{
BankAccount ba = (BankAccount) x;
return ba.getBalance() > 1000;
}
}

Measurer m = new BankMeasurer();
Filter f = new BankFilter();
DataSet data = new DataSet(m, f);

data.add(new BankAccount(1));
data.add(new BankAccount(100));
data.add(new BankAccount(2000));
data.add(new BankAccount(950));
data.add(new BankAccount(4000));

System.out.println("Average balance: " + data.getAverage());
System.out.println("Expected: 3000.0");

BankAccount b = (BankAccount) data.getMaximum();
double balance = b.getBalance();
System.out.println("Highest balance: " + balance);
System.out.println("Expected: 4000.0");
}
}

Reference no: EM13939848

Questions Cloud

Experience working in a technical analyst role : Demonstrated experience working in a Technical Analyst role; Ability to perform under pressure and to tight deadlines; Demonstrated experience working within a Security conscious environment; Demonstrated experience working in a Defence environmen..
Evaluating my own experience performance asclinical educator : Evaluating my own experience performance as a clinical educator by reflecting on the experience and referring to current relevant educational literature.
Projects that may be adjusted if a recession is on horizon : Pick any industry that you would like to know more about (automobile industry). What are some examples of short term versus long term projects that may be adjusted if a recession is on the horizon? Write in detail with descriptive examples.
Dividends are expected to grow at rate : Synovec Co. is growing quickly. Dividends are expected to grow at a rate of 25 percent for the next three years, with the growth rate falling off to a constant 4 percent thereafter. If the required return is 10 percent, and the company just paid a di..
Determines whether to accept an object. : Modify the implementation of the DataSet class in Section to use both a Measurer and a Filter object. Only objects that the filter accepts should be processed.
What is asymmetric warfare : Explain the following; specific security challenges in the Port Maritime Environment, Risk Management activity, Components of Port Security Planning, and Asymmetric Warfare, Megaports Initiative, and the Secure Freight Initiative. What is Asymmetr..
Bullish on a particular security : You are bullish on a particular security and have $500 to invest. The stock is trading for $100. Call options with a strike price of $100 are trading for $1.00. You decide to invest your entire $500 by purchasing call options. How many options contra..
Cost accounting systems used by manufacturing : Cost accounting systems used by manufacturing companies are based on the: Periodic inventory system.
Issued dividend of per share on its common stock : The Muse Co. just issued a dividend of $3.45 per share on its common stock. The company is expected to maintain a constant 7.10 percent growth rate in its dividends indefinitely. If the stock sells for $69 a share, what is the company’s cost of equit..

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd