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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMjM0NzAsIm5iZiI6MTcyNDAyMzE3MCwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MzAtYWUzMTdiZGEtNmEzOS00MGJhLWE1YjctYjZiNTJkZDMxOTU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDIzMTkzMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEzZWJjNDFmZGFlMTIyZDQ2MTUxMWZhN2Q1NmI5ZmViMDRlYWY5OWY5ODI4YjY5MDc4ZjYzMDVjYzQ1MjY0MTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8Zi6RwbENGFvPXsZRVm8YJlJJ5JiocZgC1J-QY4Ovsw)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMjM0NzAsIm5iZiI6MTcyNDAyMzE3MCwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjctNGI2ODM3MDctYTVmMi00YTAxLTk0NWEtNDhlMTcwZWMxMGZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDIzMTkzMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc1MzVlMjE5MGI0NGZjY2VlYTNlNjBmYWVkZjU5YjQ0NWM4NzIzZGVmODUwMTk0NmZjNDkzNzZhZDVhMTM4YzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.KRR1pxDZcPf9xgz_gHGjdVDhX3USSlpQ0fF1RdyuA7k)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMjM0NzAsIm5iZiI6MTcyNDAyMzE3MCwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjItNGVmODQ3YWEtOGJiNy00NDJiLWIxZDMtZDVmMzNkZWE0YmI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDIzMTkzMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNkYjk4NjZhNTM5NzE3NmVkM2JhNjJhNTRjNGFiMWM1MGY0MzRkNDk3MWU1ZjY0MTRiY2M2YWE4YjgxNDg4YjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.LF75OGAR9byoxMlnXiSVPNE_5cAzpOdODAa8ZcA1pAk)
![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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMjM0NzAsIm5iZiI6MTcyNDAyMzE3MCwicGF0aCI6Ii84NjM4ODQzMi8yNzE0NDQ5MjMtMjQ1NmUwMDYtMjZkNS00NWUzLTkwNmItNzU2ZjZiNWRmOTI0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDIzMTkzMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA1NDBmODAxOThjZjc0YzIwMWNlZGI1NDJhMjI3OGU4NWIzODZiNTNiNTE3NjI2ODk1YzE3OTNkOGFhMzkyZGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kfhnCLKWXoVUKq2V5sjULUEeWXY95vftiypf29Xlbpc)