Coder Social home page Coder Social logo

polynom_java's Introduction

Polynom_Java

Здесь будет представлено мое решение 1 варианта - "Целочисленный полином".

Мною был написан класс Polynom, который хранит полином вида 7х^4+3x^3-6x^2+x-8. Известно, что все коэффициенты полинома являются целыми числами. Мой класс содержит функции, позволяющие сравнивать два полинома на равенство, рассчитывать значение полинома при заданном целочисленном х, складывать/вычитать/умножать/делить два полинома друг на друга, а также находить остаток от деления одного полинома на другой.

polynom_java's People

Contributors

elenalaufeyson avatar

Watchers

 avatar

polynom_java's Issues

Замечания

  1. Самостоятельный вызов System.gc() - плохой стиль. Так не нужно делать почти никогда. Виртуальная машина Java сама соберёт мусор, когда это необходимо.
  2. Надо ли хранить степень полинома в явном виде? Она ведь всегда равна array.length + 1
  3. В методе toString() вы очень много раз используете конкатенацию строк. При каждой конкатенации в Java строка копируется. Используйте StringBuilder.
  4. Метод invert меняет текущий полином, а остальные арифметические методы создают новый. Выберете один стиль, а лучше реализуйте оба набора операций: изменяющие объект и создающие новый (как, например, у целых чисел, (+, +=, -, -= и т. д., но в виде методов plus, plusEquals, minus, minusEquals и т. д.). Один набор легко реализуется через другой.
  5. Метод cut0() явно вспомогательный и внешнему пользователю не нужен. Если он совершает допустимые вами операции с вашим объектом, то полином всегда будет в нормальной форме. Следует объявить его приватным.
  6. В cut0 вы создаёте полином cutPol только ради того, чтобы скопировать массив this.array. Почему бы просто не скопировать массив?
  7. Флаг resb у div -- плохое решение при проектировании программного интерфейса. (Вы же не сделали флаг addb у метода сложения, чтобы он мог вычитать.). Разбейте операцию деления и взятия остатка на отдельные методы

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.