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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY0NzA5MTcsIm5iZiI6MTcxNjQ3MDYxNywicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MzAtYWUzMTdiZGEtNmEzOS00MGJhLWE1YjctYjZiNTJkZDMxOTU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTIzVDEzMjMzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM0MjIwYjljZDgwZmViM2M2YjYwMTEzMWU3OGI0MzU2N2ZlODI0ZDRkMDgwYTM3ZGYxZjUwMmJjZDQ4N2UyNDImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.z7puSg2gSp2N8fuIOrHQ8M7XuF4re2PQ8bSgH2xyGPE)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY0NzA5MTcsIm5iZiI6MTcxNjQ3MDYxNywicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjctNGI2ODM3MDctYTVmMi00YTAxLTk0NWEtNDhlMTcwZWMxMGZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTIzVDEzMjMzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA4ZGQ4MzdjZmI3MjgyYWFlNmFhNjI5NjYxNmRiMDk3M2FmMDhjZjA5NDc0YmQ0YWIyMWVhZTVkZDVhZWRhMmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Qqoye4a5n6YIEVHn9Yj3isZRQIFgyqPg_2gZdFt3aVU)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY0NzA5MTcsIm5iZiI6MTcxNjQ3MDYxNywicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjItNGVmODQ3YWEtOGJiNy00NDJiLWIxZDMtZDVmMzNkZWE0YmI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTIzVDEzMjMzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk2NTcwMTJhYTEwNWY2MDdkMDc2ZGUzZmViYjQ2NDdlYzc4NGYzYjJkYzQ3MmYxN2RkMWRhMzcwY2VjOGM1OTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.HLvMXooclV4Vpx2FQ5qggND-K5DRnkKxIOJqHxf-tds)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTY0NzA5MTcsIm5iZiI6MTcxNjQ3MDYxNywicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjMtMjQ1NmUwMDYtMjZkNS00NWUzLTkwNmItNzU2ZjZiNWRmOTI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA1MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNTIzVDEzMjMzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk5NzdlZjdhOTViYjQ5Y2U2OGZiMmEzZTgyMDQ3NDhiZWMwNWZkY2JkNTJmNjY1NWY0NzgyZDcxYmY3MzA2YzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bvC2jZKz3VS_QGLo6AhhO8p4UOskfWKaGaxwvMO5n7w)