Hola Oskar!
Para tomar palabras enteras tendrías que dividir la cadena tomando como carácter de separación el espacio. No es difícil, se puede hacer de varias maneras (con métodos de la clase String, con expresiones regulares, etc.).
Una idea puede ser esta:
import java.util.Scanner;
public class MiddleNameTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String full_Name = scanner.nextLine();
scanner.close();
String middleName = full_Name.split(" ")[1].trim();
System.out.println(middleName);
}
}
Otro ejemplo
String s = "This is a sample sentence.";
String[] words = s.split("\\s+");
for (int i = 0; i < words.length; i++) {
// You may want to check for a non-word character before blindly
// performing a replacement
// It may also be necessary to adjust the character class
words[i] = words[i].replaceAll("[^\\w]", "");
}
Para el aprendizaje de Java te recomiendo seguir este curso paso a paso:
http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188Saludos!