Bitcoin
How to create a registration system that automatically gives each user their own Bitcoin address

I am a complete beginner and I have created a website with a registration system. I need to know how to automatically generate a new address for each new registration and of course create a wallet to handle deposits and withdrawals. I have searched a lot but I have not found an answer. How can I do this? And what language should I learn besides Java?