|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2017, 12:40 | #1 |
Новичок
Джуниор
Регистрация: 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) |
12.12.2017, 13:15 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
может быть, в локале установлен другой разделитель целой и дробной частей?
попробуйте, например, ввести 2,5 если это так, то нужно или выставлять другую локаль для scanner или вводить, используя текущие настройки системы. |
13.12.2017, 06:54 | #3 |
Новичок
Джуниор
Регистрация: 12.12.2017
Сообщений: 2
|
Спасибо!
Спасибо большое. Мысль о подобном исходе сразу откинул, не проверив, но вы правы: целую и дробную часть разделяет не точка, а запятая.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Добрый день, я новичок помогите, пожалуйста, с кодом на с++: | 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 |