// find the smallest element in an array int a[]. assert a.length > 0 : "only works if there are some elements in the array"; // presume the smallest element is the first one. int smallestSoFar = a[0]; // loop through all elements looking for an even smaller one. for ( int candidate : a ) { if ( candidate < smallestSoFar ) { smallestSoFar = candidate; } } // smallestSoFar now contains the smallest. ///////////////////////////////////////////////////////////////////////////////////////// // if we need to find out where, (which index) the smallest was, you need code like this: assert a.length > 0 : "only works if there are some elements in the array"; // presume the smallest element is the first one. int smallestSoFarIndex = 0; int smallestSoFar = a[0]; // loop through all elements looking for an even smaller one. for ( int i=1; i<a.length; i++ ) { if ( a[i] < smallestSoFar ) { smallestSoFarIndex = i; smallestSoFar = a[i]; } } // When you fall out the bottom of the loop, // smallestSoFarIndex will have index of smallest, // and smallestSoFar will have the smallest value