Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2017, 12:40   #1
SanYoka998
Новичок
Джуниор
 
Регистрация: 12.12.2017
Сообщений: 2
Печаль Пожалуйста помогите, я новичок.

Вот задание и код выполнения:
-------------------------------------------------------------
/*Известно, что x кг конфет стоит a рублей. Определите, сколько стоит y кг этих конфет, а также сколько кг конфет можно купить на k рублей. Все значения вводит пользователь.*/

import java.util.Scanner;

public class theSimplestArithmetic23 {
public static void main(String args[]){
Scanner s=new Scanner(System.in);
System.out.print("X кг стоит A рублей.\nX=");
double x=s.nextDouble();
System.out.print("A=");
double a=s.nextDouble();
System.out.print("Программа рассчитает для Y кг стоимость. И для K рублей массу.\nY=");
double y=s.nextDouble();
System.out.print("Для Y=" + y + " кг cтоимость " + a*y/x +".\nK=");
double k=s.nextDouble();
System.out.print("На K=" + k + " рублей можно купить " + k*x/a + " кг.");
}
}
----------------------------------------------------------------------------
Программа запускается и если вводить только целые значения, то работает. А если дроби, то вот:
-----------------------------------------
"X кг стоит A рублей.
X=2.5
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknow n Source)
at theSimplestArithmetic23.main(theSim plestArithmetic23.java:11)"
-----------------------------------------
Почему так? Функция nextDouble() должна принимать переменные типа double, но она этого не делает??? Как быть?
Только начинаю изучение Java. Прошу помочь опытных ребят

Среда разработки: Eclipse IDE for Java Developers
Version: Neon.3 Release (4.6.3)
SanYoka998 вне форума Ответить с цитированием
Старый 12.12.2017, 13:15   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

может быть, в локале установлен другой разделитель целой и дробной частей?
попробуйте, например, ввести 2,5
если это так, то нужно или выставлять другую локаль для scanner или вводить, используя текущие настройки системы.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.12.2017, 06:54   #3
SanYoka998
Новичок
Джуниор
 
Регистрация: 12.12.2017
Сообщений: 2
Хорошо Спасибо!

Спасибо большое. Мысль о подобном исходе сразу откинул, не проверив, но вы правы: целую и дробную часть разделяет не точка, а запятая.
SanYoka998 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добрый день, я новичок помогите, пожалуйста, с кодом на с++: witalikcoral Помощь студентам 16 13.07.2015 23:18
Новичок,помогите написать програму Андрей3443 Паскаль, Turbo Pascal, PascalABC.NET 5 19.10.2014 12:57
Новичок,помогите написать програму галина01 Паскаль, Turbo Pascal, PascalABC.NET 7 06.10.2014 20:24
Новичок, помогите поменять местами код без ошибок SinimaWath Паскаль, Turbo Pascal, PascalABC.NET 4 04.10.2014 11:46
Ребята я новичок помогите..... Alex-jr Microsoft Office Excel 5 17.12.2007 07:02