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.
– ВСЕ тексты (исходные данные, вывод, комментарии) должны быть исключительно на инглише!
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;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.