![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| f999t1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
нашёл на этом сайте код калькулятора. Хочу добавить к нему тригонометрические функции.
Но при вводе числа он вычесляет,только при повторной попытке. как сделать так чтобы он вычислял с первого раза немного изменённый мною код
с арифметическими действиями всё в порядке |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Это как понять? |
|||
|
||||
| f999t1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
запускаешь калькулятор , жмёш 0 cos (результат 0), жмёшь 0 и cos (результат 1), жмёшь 0 sin (результат 1), жмёшь 0 sin (результат 0)
|
|||
|
||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Хм.. Здесь похоже команда на один шаг отстаёт. Т.е. сначало команду выполняют, а потом определяют что была за команда. Вот что поменяй:
на:
вроде работать у меня как надо стало... Добавлено @ 21:17 СТОП!! Я жестоко наврал: тригонометрические теперь вычисляются, но про стые перестали !!!! Это сообщение отредактировал(а) MoonCat - 16.5.2006, 21:13 |
||||
|
|||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
уф. Вот в чем проблема: Есть операции унарные (1 аргумент : sin, cos ...), а есть бинарные (2 аргумента +, -, /, * ...) - это не учитывается.
Этот вариант был заточен только под бинарные операции, поэтому прога запаздывает, а вернее ждет ввода следующего агрумента вместо выполнения унарной операции. Можно попробовать так исправить, но я склоняюсь к более глубоким изменениям...
|
|||
|
||||
| f999t1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 11.4.2006 Репутация: нет Всего: нет |
только cos sin любого числа получается равным 0
Добавлено @ 22:43 упс... Это у меня была ошибка. она действительно вычесляет с первого раза. а как сделать, что бы она вычисляла sin результата, (sin того что появилось на экране в результате очередного вычисления), а не вбивать числа на клавиатуре. |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
там я видел переменную result - результат последней операции, от неё танцевать надо. Но еще раз отмечу ИМХО этот калькулятор заточен под + - * / - бинарные операции. Его дорабывывать до унарных уже с выкрутасами придется. Чесно скажу, я бы калькулятор этот перепроектировал. Создал бы эмуляцию регистров. Определил правила выпонения операций. Но это другой, большой вопрос. |
|||
|
||||
| ShamanTrirukiy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 12.4.2006 Где: Харьков Репутация: 1 Всего: 5 |
Угу. А также тут стоило бы выделить состояния и построить автомат
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |