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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2015, 21:36   #1
NastS
Новичок
Джуниор
 
Регистрация: 29.01.2015
Сообщений: 2
По умолчанию Программа вычислений.

Добрый вечер!
Объясните, пожалуйста, почему, когда переменная b -> int, то выражение не решается?


Код:
public class Answer {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
    int a = 20; 
    double b = 1;
    int c = 58;
    
    double x;
    x = b / c; 
    System.out.println(x);
    
	}

}

Последний раз редактировалось Stilet; 29.01.2015 в 21:45.
NastS вне форума Ответить с цитированием
Старый 29.01.2015, 21:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Всмысле не решается?
Твоя прога дала результат 0.017241379310344827
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.01.2015, 22:15   #3
NastS
Новичок
Джуниор
 
Регистрация: 29.01.2015
Сообщений: 2
По умолчанию

Когда double b = 1, то да, все нормально. Если не double, а int, то решение 0.0.
NastS вне форума Ответить с цитированием
Старый 30.01.2015, 05:44   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Цитата:
Сообщение от NastS Посмотреть сообщение
Когда double b = 1, то да, все нормально. Если не double, а int, то решение 0.0.
Все правильно.... Так и должно быть.
Если уж совсем просто...
Когда вы делите 1 на 58 получается дробное число 0,017...
Вы помещаете этот результат в целочисленную переменную. Т.е. эта переменная хранит только целое число. А целое число от 0,017 - это 0 (дробная часть отбрасывается). А если вы помещаете результат деление в переменную типа double, вот и получаете желаемый результат.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пересчет вычислений Trimbl Microsoft Office Excel 1 23.05.2013 18:25
программа вычислений arhangel2540 Паскаль, Turbo Pascal, PascalABC.NET 4 29.02.2012 20:06
Параметры вычислений Trimbl Microsoft Office Excel 2 18.02.2012 15:25
Не делает вычислений (СИ) Ислам Помощь студентам 4 28.02.2011 00:48
Параллельные вычислений Иллидан Общие вопросы C/C++ 1 22.11.2010 13:07