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

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

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

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;

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

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