| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > калькулятор |
| Автор: f999t1 16.5.2006, 20:49 | ||
| нашёл на этом сайте код калькулятора. Хочу добавить к нему тригонометрические функции. Но при вводе числа он вычесляет,только при повторной попытке. как сделать так чтобы он вычислял с первого раза немного изменённый мною код
с арифметическими действиями всё в порядке |
| Автор: powerOn 16.5.2006, 20:53 |
Это как понять? |
| Автор: f999t1 16.5.2006, 20:58 |
| запускаешь калькулятор , жмёш 0 cos (результат 0), жмёшь 0 и cos (результат 1), жмёшь 0 sin (результат 1), жмёшь 0 sin (результат 0) |
| Автор: powerOn 16.5.2006, 21:11 | ||||
Хм.. Здесь похоже команда на один шаг отстаёт. Т.е. сначало команду выполняют, а потом определяют что была за команда. Вот что поменяй:
на:
вроде работать у меня как надо стало... Добавлено @ 21:17 СТОП!! Я жестоко наврал: тригонометрические теперь вычисляются, но про стые перестали !!!! |
| Автор: powerOn 16.5.2006, 21:37 | ||
| уф. Вот в чем проблема: Есть операции унарные (1 аргумент : sin, cos ...), а есть бинарные (2 аргумента +, -, /, * ...) - это не учитывается. Этот вариант был заточен только под бинарные операции, поэтому прога запаздывает, а вернее ждет ввода следующего агрумента вместо выполнения унарной операции. Можно попробовать так исправить, но я склоняюсь к более глубоким изменениям...
|
| Автор: f999t1 16.5.2006, 22:33 |
| только cos sin любого числа получается равным 0 Добавлено @ 22:43 упс... Это у меня была ошибка. она действительно вычесляет с первого раза. а как сделать, что бы она вычисляла sin результата, (sin того что появилось на экране в результате очередного вычисления), а не вбивать числа на клавиатуре. |
| Автор: powerOn 16.5.2006, 23:16 |
там я видел переменную result - результат последней операции, от неё танцевать надо. Но еще раз отмечу ИМХО этот калькулятор заточен под + - * / - бинарные операции. Его дорабывывать до унарных уже с выкрутасами придется. Чесно скажу, я бы калькулятор этот перепроектировал. Создал бы эмуляцию регистров. Определил правила выпонения операций. Но это другой, большой вопрос. |
| Автор: ShamanTrirukiy 17.5.2006, 12:45 |
| Угу. А также тут стоило бы выделить состояния и построить автомат |