Задать вопрос
@Wolfbethowen

Как преобразовать char в оператор?

Привет! вопрос элементарный, но не для меня:
имеем:
int a = 1;
int b = 1;
char c = '+';

как сделать чтобы работало System.out.print(a + c + b) верно с точки зрения математики (1 + 1 = 2)
и можно ли присвоить переменной " a c b " как 1 + 1 = 2?????
надеюсь, вы поняли меня....
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Увы, так просто это в яве не сделать, перегрузка операторов в яве отсутствует. Нужно писать свой парсер и интерпретатор.
Но! Самый простой вариант - использовать скрипты или классы на языке groovy, благо он с явой очень хорошо дружит. Интерпретатор и парсер уже за вас написан. Загрузите groovy, подключите jar к своему проекту, и будет щазтие.
import groovy.util.Eval
....
assert Eval.me('33*3') == 99
assert Eval.me('"foo".toUpperCase()') == 'FOO'

groovy-lang.org/integrating.html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы