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 a global array of structures

Create a global array of structures with the following data. Each structure should store the data (Employee Table - Name, age, salary information) . Array size must be at least 10

  Write a function that accepts an int array

The task calls for: Write a function that accepts an int array and the array's size as arguments. The function should create a copy of the array, except that the element values should be reversed in the copy. The function should return a pointer t..

  Write a method named negative sum

Write a method named negativeSum that accepts a Scanner as a parameter reading input from a file containing a series of integers, and determine whether the sum starting from the first number is ever negative

  Write a header file which that you will call apower

Write a header file which that you will call Apower.h. The file contains a recursive method Apowerfun that has two parameters:

  Lab9 c c programplease use functions there is the details

c program ltbrgtplease use functions ltbrgtthere is the details on the attachment.zip file needs to rework on this

  The keyboard and display on the screen

Use the readLn and writeStr functions to read from the keyboard and display on the screen. Your function to convert from a decimal text string to an int should be placed in a separate function. this problem cannot be solved by simply shifting bit pat..

  What are the primary differences between object-oriented

1. what is instruction explosion?2. what are the primary differences between object-oriented programming languages and

  Design a class box that defines a box on a floor

Design a class box that defines a box on a floor. A box has a number and an (a,b) location where a and b are numbers between -5, and 5.

  Write a method, to be included in a template unsorted list

Write a method, to be included in a template unsorted list class that will print (or reurn) the smallest and the largest values in the list.

  Write a program to convert string in upper case

Write a program that asks the user for string and display an all-uppercase version of that same string to the screen. The function should take a string parameter with the users input and return the same string in all-uppercase

  Create a detailed ipo chart

Create a detailed IPO chart that also includes the algorithm from the attached c++ source code.

  Developing a database to manage academic issues

What's A Matter University (good old Whatsamatter U) is developing a database to manage academic issues. You are asked to assist in the design of the database. Sketch the Entity-Relationship diagram for each of the following business needs. Your a..

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