Or if it is not consectutive words that you want you could build a one dimensional array, containing the numbers 1-->number of words in sentence, in the corresponding array positions. Then you could shuffle the array and read of the first n elements of the array. The number in each entry represents an index for the array of words and then you can simply get the entry at that index.
eg. simple suffle method, randomly pick an item and move to the end of the array.
static void shuffle(int[] A) {
for (int lastPlace = A.length-1; lastPlace > 0; lastPlace--) {
// Choose a random location from among 0,1,...,lastPlace.
int randLoc = (int)(Math.random()*(lastPlace+1));
// Swap items in locations randLoc and lastPlace.
int temp = A[randLoc];
A[randLoc] = A[lastPlace];
A[lastPlace] = temp;
}
}
hope this helps