Не работает код. Выдает ошибку скана
package born.to.learn;
import java.util.Scanner;
public class Tasks {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Чтобы найти периметр круга задайте радиус: ");
float r = scan.nextFloat();
System.out.println("Периметр круга = " + 2 * Math.PI * r);
}
}
Ответы (1 шт):
Автор решения: Sergey Zh.
→ Ссылка
Как написали в комментариях, разделитель в числах с плавающей точкой задаётся системой. Но код должен быть универсален и не зависеть от настроек системы.
Поэтому, вот решение:
https://www.cyberforum.ru/java/thread1002604.html
Если коротко, то можно установить локаль для сканера.
scanner.useLocale(Locale.US);
Или делать замену символов считав строку, а не число, и уже после парсить строку в число.
.replace(",",".")
