Skip to content

JulSCode/Lab_2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Вторая лабораторная работу по предмету "Java программирование".

Постановка задачи: Разбор выражения и вычисление его значения. Выражение может содержать числа, знаки операций, скобки. В случае, если выражение записано корректно, вычислить значение, в противном случае — вывести сообщение об ошибке. Дополнительно приветствуется поддержка имен переменных и различных функций. В случае, если есть переменные, их значения нужно запросить у пользователя (для каждой из них — по одному разу).

Реализация задачи:

Для реализации задачи был создан класс Formula, содержащий:

  • strFormula - исходную формулу;
  • result - результат вычисления (или определенное сообщение об ошибке);
  • index - текущий индекс символа обрабатываемой строки (нужен для работы методов класса);
  • ch - текущий символ обрабатываемой строки (нужен для работы методов класса);
  • variables - словарь используемых в формуле переменных, где ключом выступает сама переменная, а значением - ее значение.

В классе были реализованы следующие методы:

  • currentCh и previousCh для перемещения по символам строки;
  • setVariable для добавления новой переменной;
  • setStrFormula getStrFormula для изменения исходной формулы и ее получения;
  • setVariables и getVariables для получения и внесения переменных в виде словаря;
  • calculateFormula и calculate для вычисления значения введенного выражения;
  • checkFormula для проверки выражения на корректность;
  • firstPriority для произведения операций первой очереди;
  • secondPriority для произведения операций второй очереди.

Дополнительно:

  • в программе реализована поддержка имен переменных и различных функций (взятие модуля, тригонометрические функции, взятие корня);
  • был создан файл FormulaTest.java с юнит-тестами методов;
  • были добавлены комментарии к каждому из методов;
  • были созданы джава-доки;
  • была проведена работа с git.

About

Java laboratory number 2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published