2014-11-07 1 views
-1

Напишите код Java для произвольного анализатора выражений (поддержка _, -, *, /). Оператор - и/работает только с двумя операндами, остальные могут иметь любое число или операнды. Оператор/будет дополнительно проверять, что во втором операнде нет 0. Если это так, то это вызовет исключение BadArithmeticException.Java Arbitrary Expression Evaluator?

Напишите код, используя композитный шаблон. Также напишите класс клиента, который будет создавать объекты и вычислять выражения, чтобы продемонстрировать использование составного шаблона. Общий метод в составной иерархии называется eval. Вот подпись для eval.

общественности INT Eval() бросает BadArithmeticException {...

Не совсем уверен, где начать здесь. Любая помощь будет оценена по достоинству.

+4

Вы уже писали Java-код? –

+0

У меня есть, но я никогда раньше не использовал ничего подобного. В основном более простые вещи. Никогда прежде не использовался составной шаблон или исключения перед тем, как это сделать. – wmcdougald

+4

Звучит как домашнее задание. – rrirower

ответ

2

На самом деле это не вопрос, но я могу предложить хотя бы предложение. Сначала я попытаюсь написать ваше исключение, чтобы вы поняли, что вы должны делать. Вы можете найти это в документации Oracle здесь:

http://docs.oracle.com/javase/tutorial/essential/exceptions/creating.html

Если вы знаете, что вы не можете разделить на 0, подумайте о том, какие виды выражений пользователь (или вы) могли бы вход, который приведет к BadArithmeticException ,