вот мой код:Scan Double не работает с примерки уловом
public static void setPriority(List<Performer> listperformer)
{
Scanner localsc = new Scanner(System.in);
if(listperformer.isEmpty() == true)
{
System.out.println("- empty -");
return;
}
else
{
System.out.println("ID:");
int id = localsc.nextInt();
if(listperformer.size() < id || id < 0)
{
System.out.println("Invalid input!");
return;
}
else
{
double priority = 1.0;
try{
System.out.println("Priority:");
priority = localsc.nextDouble();
listperformer.get(id).setPriority(priority);
}catch(InputMismatchException e)
{
System.err.println("Invalid input!");
}
}
}
Когда я хочу, чтобы сканировать что-то вроде 2,7 он работает, но если я ставлю вместо запятой точку, это приводит на «Недопустимый вход!». вывод.
Ну, прежде всего я был без, это только попробовать, почему этот код не принимает точку – Johnny
Что локаль? Запятая и точка не означают одно и то же в любом языке. –
нормально, но обычно переменная типа double всегда с точкой, или я не прав? – Johnny