binarySearch only works for an input array that is sorted (in ascending order), and your input array isn't sorted.
Solution #1:
Sort the array first. Then binarySearch will find you the correct offset for the element in the sorted array.
Hint: look at the other methods in Arrays.
Note that this is not the correct solution. The actual problem statement says that you need to step through the array, 1) printing "not found" for non-matching elements and 2) printing "found" when you find the first match. Solution #1 only addresses the 2nd requirement, not the first one.
In fact, binary search cannot satisfy the first requirement.
Aside: sorting an array so that you can do a binary search ... just once ... is inefficient. You spend more time sorting than is saved in searching. In complexity terms, sorting will be O(NlogN) and searching O(logN) giving an overall complexity of O(NlogN). By contrast a simple linear search is O(N). Hence you will only "break even" if you do O(logN) binary searches for each sort.
Solution #2:
Forget about binary search, and write a loop that steps through all of the elements of the array.
Hint: a for loop would be best, but which kind of for loop?
binarySearch, notBinarySearch, and javadoc says: The array must be sorted. Your array is not sorted, so you cannot usebinarySearch. Time for you to iterate the array yourself, which is actually is big part of your assignment.