Create the package named by,gsu,epamlab and define the class BusinessTrip, describing business trip expenses of an employee

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Task 1

Create the package named by.gsu.epamlab and define the class BusinessTrip, describing business trip expenses of an employee.

Class fields:

●  daily allowance rate in belarusian rubles (the constant),

●  employee`s account,

●  transportation expenses in belarusian rubles,

●  number of days.

Constructors:

●  default constructor;

●  general-purpose constructor.

Methods:

●  getters/setters;

●  getTotal( ) – calculating total business trip expenses (= transportation expenses + daily allowance rate * number of days);

●  show( ) – printing all fields to the console (each field and the total business trip expenses should be on the separate line in the following format: name=value);

Example:

rate = 25000

account = Anton Slutsky

transport = 50000

days = 5

total = 175000

●  toString( ) – converting of an object to a string in the csv–format: each field and the total business trip expenses, separated by the ";" symbol.

Example:

25000;Anton Slutsky;50000;5;175000

Define the Runner class in the default package, where:

1. Create an array of 5 objects (the element with index 2 should be empty; the last element of the array should be created by default constructor; other elements should be created by general-purpose constructor).

2. Print the array content to the console, using show( ) method.

3. Change the employee`s transportaion expenses for the last object of the array.

4. Print the total duration of two initial business trips by the single operator.

Example:

Duration = 9

5. Print the array content to the console (one element per line), using toString( ) method.

Замечания

– При создании объекта в конструктор передавать константы (т.е. не нужно вводить с клавиатуры или из файла поля класса):

BusinessTrip anton = new BusinessTrip("Anton Slutsky", 50000, 5);

– Поля класса должны иметь приватный уровень доступа.

– Если поле является константой класса, то оно должно иметь спецификаторы:

public final static

 Пример:

public class Salary {

public final static int WORKING_HOURS = 8;

}

Для константы класса геттер лучше не создавать. Если константа нужна  только внутри класса, то уровень доступа приватный. Если константа требуется еще и вне класса, то уровень доступа публичный.

– Если ссылка на объект встречается в контексте строки, то по умолчанию вызывается у объекта вызывается метод toString( ).

 Пример. Такой код:

System.out.println("Business trip expenses of anton > " + anton);

 предпочтительнее, чем эквивалентный ему:

System.out.println("Business trip expenses of anton > " + anton.toString());

– На каждом предприятии Java code conventions обязательны для исполнения (см. пост на сайте). Внутри ЕПАМа дополнительно используют рекомендации по кодированию (см. документ EPAM-Code-Instructions.doc в папке texts).

– Общепринятая практика – именовать массив как класс, но во множественном числе. Элемент – итератор массива отличается от имени класса только начальной буквой (у класса заглавная, у итератора строчная).

 Пример:

Trial[ ] trials = {             ... }; for (Trial trial : trials) {             ... }

– Обратите внимание, в условиях задач денежные величины указаны в белорусских рублях. В решениях иногда я вижу для них вещественный тип, что не катит ни в какие ворота :(

Более того, вещественный тип не годится вообще для финансовых расчетов. Читатйте у Джошуа Блоха раздел "Если требуются точные ответы, избегайте использования типов float и double".

– Не изменяйте без необходимости конструкторы, геттеры/сеттеры, созданные Эклипсом.

– Ни один из циклов не требует формы со счетчиком. Используйте форму цикла for–each.

– ВСЕ тексты (исходные данные, вывод, комментарии) должны быть исключительно на инглише!

Task 2

Create the package named by.gsu.epamlab and define the class Material, describing uniform material.

Class fields:

●  name,

●  density.

Constructors:

●  default constructor;

●  general-purpose constructor.

Methods:

●  getters;

●  toString( ) – converting of an object to a string in the csv–format: each field, separated by the ";" symbol.

Example:

steel;7850.0

Define in the same package the class Subject, describing a subject consisting of the uniform material.

Class fields:

●  name,

●  material,

●  volume.

Constructors:

●  default constructor;

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.