nextDouble() usa los puntos decimales y separadores de miles propios del idioma. En español el punto es separador de miles y la coma es los decimales.
Si quieres cambiarlo, a la clase Scanner llama al método useLocale() y pásale un Locale inglés, creo que sería algo como esto
Se bueno.