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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjExNTI1MjEsIm5iZiI6MTcyMTE1MjIyMSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MzAtYWUzMTdiZGEtNmEzOS00MGJhLWE1YjctYjZiNTJkZDMxOTU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE2VDE3NTAyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBlMWIwMmE2MDgzYWIxMWM1Y2I5NTBmODVlYzFjYzc4NTdiNDhkZDVhNzE2ZTg3YjU4MzVjODM2YzZkZDUxZWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-clKBfjLDhxHCDgfGSB-Gg-gc1_ONPiQ5SFQEbepOnw)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjExNTI1MjEsIm5iZiI6MTcyMTE1MjIyMSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjctNGI2ODM3MDctYTVmMi00YTAxLTk0NWEtNDhlMTcwZWMxMGZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE2VDE3NTAyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUzOWQ4YzFiNzg4NmYyNzhiNGY3YTFhOGYyZDVmZmRjY2RjYzNiM2JiMTM5OTFkNWNlYmFmYjgzNjM0OTA1YTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.AKE-ox_B2GIcYRB2JLX3Awd8I-8LmG5fCEb7-eGk9Vc)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjExNTI1MjEsIm5iZiI6MTcyMTE1MjIyMSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjItNGVmODQ3YWEtOGJiNy00NDJiLWIxZDMtZDVmMzNkZWE0YmI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE2VDE3NTAyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI5OGNhYTBjMWVhNWNkY2FkM2RjNGI3NDBmYTYyY2JlY2U1NWM5MzUwZjgzOGNmMTMzYjk5M2VmMDBhZmE0NTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.xqw82FCEEo4zzVNJNuyuk86SEoPHix4Nl1Qu3uGBIM0)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjExNTI1MjEsIm5iZiI6MTcyMTE1MjIyMSwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjMtMjQ1NmUwMDYtMjZkNS00NWUzLTkwNmItNzU2ZjZiNWRmOTI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE2VDE3NTAyMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYzZjBjYmM5NGRjMzVmZTk0MzhjNWY0YjUwYWY5YTgyNTE2MDcxMjViODExYWQ5NzU5MzNkMjE5NDM3MTY5YTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.YGCXDrV4Blvr1b1LNY7lpph5dkbLjY6572JVY71q_qY)