Класи, перерахування, робота з бінарними файлами
Автор: Надежда Шевчук • Май 22, 2022 • Лабораторная работа • 1,994 Слов (8 Страниц) • 162 Просмотры
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Чорноморський національний університет
імені Петра Могили
Факультет комп’ютерних наук
ЗВІТ
з лабораторної роботи №2
«Класи, перерахування, робота з бінарними файлами.»
Варіант № 13
Дисципліна «Основи програмування»
Спеціальність: Комп’ютерні науки
Cтудент ___Н. М. Шевчук
(підпис)
____
(дата)
Викладач _____________Г.В. Горбань
(підпис)
_____________
(дата)
Миколаїв – 2022
Лабораторна робота №2
Класи, перерахування, робота з бінарними файлами
Мета:
- ознайомитися з особливостями реалізації об'єктної моделі у Java, використанням класів, перерахувань та інкапсуляції;
- ознайомитися з основними можливостями пакету java.time.
Список завдань
- Створіть клас за варіантом та визначте для нього 3 поля, всі можливі конструктори та геттери/сеттери. Створіть декілька екземплярів класу, продемонструйте роботу методів.
- Створіть перерахування за варіантом (тип одягу, тип транспортного засобу тощо), продемонструйте можливість задавати властивості, конструктори та методи в enum. Використайте перерахування як поле класу, створеного в завданні 1.
- Додайте до класу поля з датою та часом (використовувати класи пакету java.time) створення об’єкту класу та метод, який визначає проміжок часу між датою/часом, що вводить користувач, та датою/часом створення об'єкту.
- Додайте методи для вводу/виводу масиву об’єктів класу в бінарний файл.
За варіантом:
Тварини.
Main.java
package com.company;
import java.util.Date;
import java.time.LocalDateTime;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.FileInputStream;
public class Main {
public Main() throws IOException {}
public static void main(String[] args) throws ClassNotFoundException, IOException {
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println("localDateTime :" + localDateTime);
// 1 завдання
Animals animal1 = new Animals(2.8);
Animals animal2 = new Animals("Мурзік",3,3.5);
System.out.println("Вага animal1: "+animal1.getWeight());
System.out.print("Вигук animal1: ");
animal1.sayAnimals("Гав!");
System.out.print("Вигук animal2: ");
animal2.sayAnimals("Мяу!");
animal1.printAnimals("Рекс",4,10.5);
System.out.println("Тварина: "+ animal2.name+"; Вік: "+animal2.getAge());
// 2 завдання
Animal anim = Animal.CHICKEN;
System.out.println(anim + " (" + (anim.ordinal()+1) + ")");
switch(anim){
case CHICKEN:
System.out.println("It's a chicken!");
break;
case ELEFANTE:
System.out.println("It`s a elefante!");
break;
case FROG:
System.out.println("It's a frog!");
break;
case CAT:
System.out.println("It's a cat!");
break;
case DOG:
System.out.println("It's a dog!");
break;
}
//метод в Enum
Animal[] anims = Animal.values();
for (Animal a : anims) {
System.out.println(a);
}
System.out.println(Animal.FROG.getWhoops());
System.out.println(Animal.ELEFANTE.getWhoops());
System.out.println(Animal.CHICKEN.getWhoops());
Animals animal3 = new Animals("Кряша!",2,0.7,Animal.FROG);
System.out.println("Тварина: "+animal3.name + " це " +animal3.whoop);
Animal.CHICKEN.printAnimal();
Date today = new Date();
System.out.println(today.toString());
animal3.timeDifference();
Animals arrayAnimals[] = {new Animals("Кряша!",2,0.7,Animal.FROG),new Animals("Елефант!",5,3.8,Animal.ELEFANTE),new Animals("Рекс!",1,0.2,Animal.DOG)};
System.out.println("Deserialization");
Main main = new Main();
main.Serialization(arrayAnimals,"array.dat");
main.Deserialization("array.dat");
}
public void Serialization(Animals arr_transport[],String fileName) throws ClassNotFoundException, IOException {
try (ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(fileName, true));) {
output.writeObject(arr_transport);
}
}
public void Deserialization(String fileName) throws ClassNotFoundException, IOException {
try (ObjectInputStream input = new ObjectInputStream(new FileInputStream(fileName));) {
Animals newTransportArray[] = (Animals[]) (input.readObject());
for (int i = 0; i < newTransportArray.length; i++) {
System.out.print(newTransportArray[i] + " ");
System.out.println();
}
}
}
}
...