Sinceramente no he usado el Scanner pero ese es el problema más común que sucede con esa clase. Por eso mismo yo siempre uso InputStreamReader y BufferedReader para leer desde consola.
El uso de estas clases se implemeta así:
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in) );
Y ahora con el objeto bf accedes al método readLine(); para obtener la entrada desde consola. El asunto es que éste lo recibe como String y tú tendrías que convertirlo al tipo de dato correspondiente
Puedes darle una revisada a esas clases o haber si alguien nos ayuda con ese problemita de Scanner