This program allows users to track the books they've read and store information about them, such as the author, rating, title, and price, in a CSV file when they exit the program.
Includes algorithms for adding and searching for a title regardless of casing, and performs mathematical operations such as printing the average cost of all the books.
Topics Covered: Classes and Objects, Inheritance, File Handling with Objects, ArrayList, implementing Interface, User defined exception and Exception handling, Object Oriented Programming
Technologies used: Java, Replit
![Screenshot 2023-09-28 at 6 10 18 PM](https://private-user-images.githubusercontent.com/86388432/271444930-ae317bda-6a39-40ba-a5b7-b6b52dd31955.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2NjEyNjEsIm5iZiI6MTcyNDY2MDk2MSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MzAtYWUzMTdiZGEtNmEzOS00MGJhLWE1YjctYjZiNTJkZDMxOTU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDA4MjkyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI2ODBlODZmOTcyZmZhYmZhODFhNzc1ZTUwMTk2NDc0OWJmODFiMzAyMjM2YWVhNTQxMWJkYjYyZmE1NGVhM2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.6R1_Ue0o_875O0CrxLGEredppRDcQsvFCSlOd4RRrFI)
![Screenshot 2023-09-28 at 6 27 23 PM](https://private-user-images.githubusercontent.com/86388432/271444927-4b683707-a5f2-4a01-945a-48e170ec10ff.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2NjEyNjEsIm5iZiI6MTcyNDY2MDk2MSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjctNGI2ODM3MDctYTVmMi00YTAxLTk0NWEtNDhlMTcwZWMxMGZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDA4MjkyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYzZmVjNzBhZjM0ZGY3MzFlZTA5OGZkODFlN2MyZTY4ZWJjYWZhNjY4OWJlNDI3OTVjYWJiOGM5NGIxZWMwZjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.SwmwEvzrrHfNIxKiVt5HCZVb9FEfOs5FXFh8lmuwlbA)
![Screenshot 2023-09-28 at 6 30 26 PM](https://private-user-images.githubusercontent.com/86388432/271444922-4ef847aa-8bb7-442b-b1d3-d5f33dea4bb5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2NjEyNjEsIm5iZiI6MTcyNDY2MDk2MSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjItNGVmODQ3YWEtOGJiNy00NDJiLWIxZDMtZDVmMzNkZWE0YmI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDA4MjkyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYwMGFhYTljZmVjNmU4YWYzYTdiNTFiN2FmY2E1OTZkOTYxMDE2Zjc3MTIyOGFlZTBiYzM2YmMwNWE0YWYwZTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.cVLc3OdPz0luJ_jDP9IQHQUweC3MSVjvrVKf2IBjNaA)
![Screenshot 2023-09-28 at 6 31 13 PM](https://private-user-images.githubusercontent.com/86388432/271444923-2456e006-26d5-45e3-906b-756f6b5df924.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2NjEyNjEsIm5iZiI6MTcyNDY2MDk2MSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjMtMjQ1NmUwMDYtMjZkNS00NWUzLTkwNmItNzU2ZjZiNWRmOTI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDA4MjkyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVkNzZiYTVkMDM1YTFhZjE1MGIyYzg5YzY1YmRkOGIzNGI1ZmNhNDYxZjA3YjE2OGYyOTFiNGVkZDFkNDZmNDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.z_Lv464964FmPRmURkrtI171YNuaKnRvdReTWLQkVQU)