Write programs that use object oriented programming


Assignment

Outcomes

• Write programs that use object oriented programming concepts.
• Write programs that use objects.
• Write programs that use ArrayList.
• Write applications using object oriented programming concepts.

Part 1

Create a folder to store the files of your Homework01.

Inside this folder, create a file called Transaction.java which will contain the following class and its data fields.

382_Class.jpg

The name of your class is Transaction. It contains 4 data fields: id (int type), amount (double type), type (char type), description (String type).

The data field called type represents the type of transaction. For this program, the types are ‘W' (withdraw), and ‘D' (deposit).

In the class, add a constructor which requires 4 input arguments which will be assigned to each of the corresponding data fields. See below an example of the header of the constructor: public

Transaction(String argId, double argAmount, char argType, String argDescription)

In the same folder, create a program (Java file) which will contain the main method. The name for this file is Homework01.java.

In this file, in the main method, create an ArrayList object named transactionList. Then, create a functional program menu like the following example:

Transaction list menu

1. Add transaction.
2. Search transaction.
3. Filter.
4. Display all transactions.
5. Exit.

Enter your choice: _

Besides, create the methods for the 4 first options:

public static void addTransaction(ArrayList argList) public
static void searchTransaction(ArrayListargList) public
static void filterTransactions(ArrayList argList) public
static void displayTransactions(ArrayList argList)

Notice the four methods do not return a value (void) and they receive as argument an ArrayList reference which will be transactionList. So, once an option is chosen, the corresponding method should be called.

Part 2

=== Add Transaction
Enter transaction Id: 8 Transaction
type [W, D]: W
Amount: 1000
Description: Apartment rent Transaction created!

Once any of this processes (add / search / search / display) is completed, the application must return to the menu.

Part 3

The functionality of the method searchTransaction should be like the example below.

=== Search Transaction
Enter transaction Id: 8
Id: 8
Type: W
Amount: 1000.00

Description: Apartment rent Transaction found!

When the transaction Id is not found the functionality should be like the example below.

=== Search Transaction
Enter transaction Id: 8 Transaction
not found!

Part 4

The functionality of the method displayTransactions should be like the example below.

=== Display Transactions
Id   type       amount       description
8      W        1000.00       Apartment rent
10    D         2100.00       Salary

Part 5

The functionality of the method filterTransactions should be like the example below.

=== Filter Transactions
Enter query: >500.50
Id   type       amount       description
8      W        1000.00       Apartment rent
10    D         2100.00       Salary

This module should take the query, and identify the first character which could be > (less than) or < (greater than); then the rest of the query should be a double value. In the example above, the query means: show all transactions with amount greater than 500.50.

Another example:

=== Filter Transactions
Enter query: <2000
Id   type       amount       description
8      W        1000.00       Apartment rent

In this example the query means: show all transactions with amount lower than 2000.00. In addition, when no transaction match the query, the functionality should be like the example below.

=== Filter Transactions
Enter query: <100
Id   type       amount       description
No transactions found!

Other requirements

- For this program, you only need to validate the option selection in the menu i.e. the selected option should be a value between 1-5; otherwise, it should show an error message, and show the menu again and ask for another selection.

- Once the program is complete. Compress the folder (create a zip file) with the java files and submit it to the corresponding assignment in Canvas. The name of the zip file should be Homework01.zip

Solution Preview :

Prepared by a verified Expert
JAVA Programming: Write programs that use object oriented programming
Reference No:- TGS02644611

Now Priced at $30 (50% Discount)

Recommended (99%)

Rated (4.3/5)