This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Your code looks like it is trying to combine three different strategies into one procedure. You have an array birthDates of size 365 which suggests you mean each index to represent a day in the year. Then you pull this value named "people" out of thin air and use that as the array index. You randomly write an int value to the array. Then you call a method that takes no parameter and returns no value, but apparently is meant to evaluate whether the random value you just cooked up is a duplicate. However, it's actually looking at an element in the array and determining whether that element is equal to itself.
I recommend you use pencil and paper and work out how you would perform this task without a computer. You may actually have done so on the first day of a statistics course. Write out that process. Don't imagine you are writing instructions for a computer. Imagine you are writing instructions for a person to read. Write it out in simple language, so that someone could understand who had never taken statistics and doesn't know what the Birthday Paradox is. When you have a set of instructions so simple and exact that this is the case, you'll be ready to start writing code.