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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzODA1MzEsIm5iZiI6MTcyMjM4MDIzMSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MzAtYWUzMTdiZGEtNmEzOS00MGJhLWE1YjctYjZiNTJkZDMxOTU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDIyNTcxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdlMjNjNTYwNTkxYzIxY2QxZDE3ZWI4OGM5MzliYjkyYjFiZGVlNzJiNTM0NjRmNTQ1MTI4YmE3NzZhNTczYWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.PyyS4o-551cFWb0QGEXwBIw2rIZo6WfR4BUAP_jDRlo)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzODA1MzEsIm5iZiI6MTcyMjM4MDIzMSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjctNGI2ODM3MDctYTVmMi00YTAxLTk0NWEtNDhlMTcwZWMxMGZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDIyNTcxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNmYTYwY2JhOWE2MGNmYTgyNThhODgwMDk3OTUzYjZkNDhjNDRjYjVhM2FhM2FiNTMxYTZhYjlkYjEzOTM1NjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.XI08xjMpnPnVZXtRSbAeLgdEsUicnYiT_8xKXigcqaQ)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzODA1MzEsIm5iZiI6MTcyMjM4MDIzMSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjItNGVmODQ3YWEtOGJiNy00NDJiLWIxZDMtZDVmMzNkZWE0YmI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDIyNTcxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE4OWFlMWUxYzJiNTZlZjZlZWM0NGRmYmNjMDJkOTgxMTk4OGNmZWI4ZWUwNWM4NTFmZTNhMDE3Y2FmNDVlOTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Z1g9YBed09GAn8_QmQBfgYCwICcqtYcbxnS7UwGOxws)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIzODA1MzEsIm5iZiI6MTcyMjM4MDIzMSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjMtMjQ1NmUwMDYtMjZkNS00NWUzLTkwNmItNzU2ZjZiNWRmOTI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMwVDIyNTcxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJlOGY5Y2IzNDY3MzE3NGZlMWZmYTliNDNkMGNlYzVkN2U1NjM0MGUyYzEwOTcwZTNlNWI5OGMwMjNmMWViOGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qx1RjtloPceVZDnuD7xYD-lUhqg5ADmEfIX2rudC7Xg)