To generate minimum , maximum and ending balances by monthYear for all customers from the data.
. How to read CSV file in Java - Javatpoint Source:
https://www.javatpoint.com/how-to-read-csv-file-in-java
. Read a CSV File into an Array - YouTube Source:
https://www.youtube.com/watch?v=-Aud0cDh-J8
. Array vs ArrayList in Java - GeeksForGeeks Source:
https://www.geeksforgeeks.org/array-vs-arraylist-in-java/
I built this program on NetBeans using Java. To run this program on a local IDE (preferably NetBeans to also see the sample GUI I started) then open a project or folder and pick the “Insight_Generator” folder. Once it opens on the local IDE then you will just have to run it. However if the IDE is looking for the main java class, it is in the folder Insight_Generator → src → insight_generator → Insight_Generator.java. To know more about the code and how it runs there is a broader comment section on top of the main class. The other files in this folder are the Input csv which is the sample data, the TestFiles with more csv files with different error outputs, and the Output folder which will contain the result generated by the program.
To run the TestFiles just open the project and in the main class Insight_Generator.java. There is a section where the variables are initially declared and the last variable declared is sourceFile, which is a string file that has the path to the Input.csv in the main folder. There is a wide comment section below it that describes the sources and the paths that it should be replaced with to test the program. Below are the test files and their description.
Test File 1 Name: Input - NoID.csv Anomaly: Missing Customer ID
Test File 2 Name: Input - NoDate.csv Anomaly: Missing Date
Test File 3 Name: Input - NoTransaction.csv Anomaly: Missing Transactions
Note: No error generated because program considers missing
transactions at 0
Test File 4 Name: Input - NoAllCol.csv Anomaly: Missing Cells in all columns
Test File 5 Name: Input - MultipleMonth.csv Desc: Customers with Multiple
Month
Test File 6 Name: Input - LargeData.csv Desc: Large Data greater than 1000 lines
with multiple months and year