Write a java program

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

Outcomes

▪ Write programs that use object oriented programming concepts.

▪ Write programs that use objects.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

▪ Write programs that use ArrayList.

▪ Write applications using object oriented programming concepts.

Scoring

▪ If you do not submit a .zip file containing your source code, your score will be

zero.

▪ If you submit source code that does not compile, your score will be zero.

▪ If you submit source code without the correct class name(s) or the correct

method names (see below), your score will be decreased by 50 points.

▪ In addition, deductions will be made for not meeting the following

requirements:

o At the beginning of each java file, add a comment with the following information:

▪ Student’s name

▪ Course/section,

▪ Date

▪ Filename

▪ Description of the program/class o Indentation guidelines:

▪ The code inside of a class must be indented with respect to the class

definition.

▪ The code inside of a method must be indented with respect to the method

definition.

▪ The code inside of if / else / else if / while / for / do-while structures must be

indented with respect to its corresponding structure.

▪ Curly braces can be positioned at the end of the corresponding structure

definition, or in the following lines aligned with the corresponding structure. o

Comments:

▪ At least, one-line comment should be added per method or constructor.

▪ Comments must describe the functionality or objective of the method.

▪ Please add more comments about your code, if you think that will help the

grader.

Rubric

Full credit Partial credit

Implement the menu

application of a transaction list

(part 1)

(15 points)

You implements the menu

application of a transaction list.

You implements the

menu application of a

transaction list, but with

some errors.

Implement the add

transaction

method in the

application (part 2)

( 15 points)

You implements the add

transaction

method in the

application.

You implements the add

transaction method in

the application, but

with

some

errors.

Implement the

transaction

application

(part

(20 points)

search

in the

You implements the
transaction method in the
application.

search You implements the

search transaction

method in the

application, but with

some errors.

method

3)

Implement the display

transactions method in the

application (part 4)

(20 points)

You implements the display

transactions method in the
application.
You implements the

display transactions

method in the
application, but with
some errors.

Implement the filter

transactions method in the

application (part 5)

(20 points)

You implements the filter

transactions method in the
application.
You implements the filter

transactions method in

the application, but with

some errors.

Make sure the user does not

enter bad values

(10 points)

You make sure the user only

enters a valid menu options and

other user inputs.

You check for bad user

entry, but with some

errors.

Description

You will build an application which manage (add / search / display / filter) transactions of a bank

account.

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.

Class name

Data fields

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)

Please 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

The functionality of the method addTransaction should be like the example below. The text in red in the

code, represents user input.

Transaction

id: int

amount: double type:

char description:

String

=== 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

Advice

▪ Since your application uses an ArrayList, read the ArrayList class description in the Java API

documentation. Also, remember to import this class to

your program.

▪ Since one of the data fields is type Date, read the Date class description in the Java API

documentation. Also, remember to import this class to your program.

▪ Review the method Double.parseDouble() to convert a String to Double. It could be useful for

your program.

Still stressed from student homework?
Get quality assistance from academic writers!

Order your essay today and save 25% with the discount code LAVENDER