Objective: Develop a basic calculator application using Java.
Description:
Create a Java program that can perform basic arithmetic operations (addition, subtraction, multiplication, division). Implement a user-friendly interface for inputting numbers and selecting operations. Ensure error handling for invalid inputs and division by zero. Bonus: Include additional functions such as square root, exponentiation, or memory functions.