Java не считывает дробные числа
Я в Java новичок и столкнулся с тем, что Java не хочет считывать с клавиатуры дробные числа. Синтаксис скопепастен с интернета про то как вводить с клавиатуры числа типа double. Но у меня сё ровно не считывает. В чём может быть проблема?`
import java.util.Scanner;
public class Test111 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double i = scanner.nextDouble();
System.out.println(i);
}
}
Ответы (1 шт):
Автор решения: Agzam4
→ Ссылка
Скорее всего, Вы используете ,, а не ., но я добавил защиту, и теперь Вы можете вводить, что угодно (даже буквы (он их пропустит)), а ,, заменит на .:
Scanner scanner = new Scanner(System.in);
char[] cs = scanner.nextLine().replace(',', '.').toCharArray();
String allowed = "0123456789";
boolean point = false;
String newStr = "0";
for (char c : cs) {
if(allowed.indexOf(c) != -1) {
newStr += c;
}else if (c == '.') {
if(point)
break;
newStr += '.';
point = true;
}
}
double d = Double.valueOf(newStr);
System.out.println(d);