Вы, кажется, работаете не с той локалью.Если вы не укажете JVM явно, какую локаль использовать для интерпретации входных данных с плавающей запятой, она будет использовать локаль по умолчанию вашей системы (JVM).
Явно установите для локали формат США:
public static void main(String[] args) {
Locale.setDefaultLocale(Locale.US);
...
Я воспроизвел проблему следующим образом:
- установить языковой стандарт по умолчанию на
GERMANY
(десятичный разделитель - запятая), ввод 3,5
работает, но 3.5
- нет. - установить локаль по умолчанию на
US
(десятичный разделитель - точка), ввод 3.5
работает, но 3,5
- нет.
Поскольку это домашняя работа, вы должны вернуться к проф.попросить разъяснения по многоязычным требованиям: -)