Compare commits

..

6 Commits

Author SHA1 Message Date
Oleksii Aleshchenko 13e1a61ad9 update Main with example for difference & and && 2023-03-02 16:07:34 +02:00
Oleksii Aleshchenko f692ae7588 update polymorphism example 2023-03-02 15:48:38 +02:00
Oleksii Aleshchenko 429bcc7b3d add polymorphism example 2023-03-02 15:26:42 +02:00
Oleksii Aleshchenko 4b159fa22b update inheritance example 2023-03-02 14:41:44 +02:00
Oleksii Aleshchenko 2880b770f7 add inheritance example 2023-02-23 16:04:53 +02:00
Oleksii Aleshchenko 53a9d20438
Update Main.java 2023-02-23 14:30:35 +02:00
66 changed files with 475 additions and 538 deletions

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

6
.idea/misc.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/OOP_IO-2x_2023.iml" filepath="$PROJECT_DIR$/OOP_IO-2x_2023.iml" />
</modules>
</component>
</project>

124
.idea/uiDesigner.xml Normal file
View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4"> <module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true"> <component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>

Binary file not shown.

View File

@ -1,21 +0,0 @@
public class Main {
public static void main(String[] args) {
float s = 0.0f, a = 2.0f, b = 1.0f, m = 6.0f, n = 4.0f;
int c = 1;
for (float i = a; i <= m; i++) {
// Перевірка ділення на 0.
if (i == -1) {
System.out.println("Помилка: ділення на нуль не можливе.");
return;
}
for (float j = b; j <= n; j++) {
s += (i + j) / (i + c);
}
}
System.out.println("S = " + s);
}
}

Binary file not shown.

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

View File

@ -1,59 +0,0 @@
public class Main {
public static void main(String[] args) {
// Створення матриць.
char[][] a = {
{12, 4, 8, 11},
{16, 9, 3, 13},
{7, 11, 16, 15}
};
char[][] b = {
{15, 12, 4, 5},
{19, 1, 3, 11},
{2, 11, 6, 10}
};
System.out.println("Матриця A: ");
for (char[] i : a) {
for (char j : i) {
/* При виведенні елементів ми додаємо пробіли на кінці
цілого числа (%-4d) задля легшого читання матриці.
*/
System.out.printf("%-4d", (int) j);
}
System.out.println();
}
System.out.println("\nМатриця B: ");
for (char[] i : b) {
for (char j : i) {
System.out.printf("%-4d", (int) j);
}
System.out.println();
}
// Перевірка на те, чи є матриці однакових форм.
if (a[0].length != b[0].length || a.length != b.length) {
System.out.println("Матриці А і В мають різні форми.");
} else {
int[][] c = new int[a.length][a[0].length];
float sum = 0;
System.out.println("\nМатриця С: ");
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
c[i][j] = (byte) a[i][j] ^ (byte) b[i][j];
sum += c[i][j];
System.out.printf("%-4d", c[i][j]);
}
System.out.println();
}
float average = sum / (c.length * c[0].length);
System.out.printf("\nСереднє значення матриці С: %.3f", average);
}
}
}

Binary file not shown.

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

View File

@ -1,54 +0,0 @@
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StringBuffer text = new StringBuffer(scanner.nextLine());
String str_text = text.toString();
// Заміна ? й ! на .
str_text = str_text.replaceAll("[?!]", ".");
// Очищення від спеціальних символів.
str_text = str_text.replaceAll("\"", "");
str_text = str_text.replaceAll("-", "");
str_text = str_text.replaceAll("[,':;^*&%$#@]", "");
// Створення масиву з речень.
String[] spl_text = str_text.split("\\.");
// Перевірка на кількість речень.
if (spl_text.length == 0 || spl_text.length == 1) {
System.out.println("Не вдалося виконати дію з рядками (було введено одне речення або взагалі нічого)");
return;
}
System.out.println("Слова першого речення, яких немає у жодному з наступних:");
for (String st : spl_text[0].split(" ")) {
int index = 0;
for (int i = 1; i < spl_text.length; i++) {
// Усунення кейсу з регістром, усунення пробілів.
if (Arrays.asList(spl_text[i].toLowerCase().trim().split(" ")).contains(st.trim().toLowerCase())) {
index = 1;
break;
}
}
// Перевірка на те, чи було дане слово хоча б в одному реченні.
if (index == 0) {
System.out.println(st.trim().toLowerCase());
}
}
}
}
/* [Input]
"У молодості я взяв собі за правило не пити ні краплі спиртного до обіду. Тепер, коли я вже немолодий, я тримаюся правила не пити ні краплі спиртного до сніданку". - Вінстон Черчилль
[Output]
у
молодості
взяв
собі
за
правило
обіду
*/

Binary file not shown.

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -1,40 +0,0 @@
package lab4;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Створення об'єктів класу Student.
Student First = new Student("Михайло", "Гордун", 21, "ІПСА", true);
Student Second = new Student("Дмитро", "Шарій", 19, "ТЕФ", false);
Student Third = new Student("Аліна", "Шарій", 18, "ЕФ", false);
Student Fourth = new Student("Назар", "Лоленко", 17, "ФІОТ", true);
Student Fifth = new Student("Олександра", "Зеленська", 18, "ФМВ", true);
// Створення масиву об'єктів класу Student.
Student[] ObjArray = new Student[] {First, Second, Third, Fourth, Fifth};
// Сортування по алфавіту (прізвище ім'я).
Arrays.sort(ObjArray, new Sorting.SortByAlphabet());
System.out.println("\nСортування за алфавітом (зростання):");
for (Student Student : ObjArray) {
System.out.println(Student.lastName + " " + Student.firstName);
}
/* Сортування по віці (спадання).
Масив сортує масив по зростанню, але в циклі ітерація
проходить навпаки, тим самим виводячи елементи з кінця
до початку.
*/
Arrays.sort(ObjArray, new Sorting.SortByAge());
System.out.println("\nСортування за віком (спадання):");
for (int i = ObjArray.length-1; i >= 0; i--) {
System.out.print(ObjArray[i].lastName + " ");
System.out.print(ObjArray[i].firstName);
System.out.println(", вік: " + ObjArray[i].age);
}
}
}

View File

@ -1,52 +0,0 @@
package lab4;
import java.util.Comparator;
public class Sorting {
// Непорушний клас, створений на основі абстратного класу Comparator.
public static class SortByAlphabet implements Comparator<Student> {
/* Реалізація методу compare().
Метод compare(Object o1, Object 02) є одним із абстрактних методів
класу Comparator. Нам потрібно або зробити наш клас абстактним, або
реалізувати даний метод. Якщо ж оголосити клас SortByAlphabet
абстрактним, ми не зможемо створити на основі його об'єкт, тому
вибір очевидний - реалізація методу.
*/
@Override
public int compare(Student st1, Student st2) {
/* Якщо в нас буде 2 однакових прізвища на порівняння, нам потрібно
порівнювати імена аби сортування по алфавіту було правильним.
*/
if (st1.lastName.compareTo(st2.lastName) == 0) {
return st1.firstName.compareTo(st2.firstName);
} else {
return st1.lastName.compareTo(st2.lastName);
}
}
}
// Непорушний клас, створений на основі абстратного класу Comparator.
public static class SortByAge implements Comparator<Student> {
// Аналогічно тут, реалізуємо метод compare().
@Override
public int compare(Student st1, Student st2) {
/* Метод compareTo() приймає лише дані типу String, тому
ми перетворюємо вік з int в String. Звісно ж це може привести
до неточності. Числа будуть порівнюватись спочатку по перших
цифрах, потім по других і тд. Якщо в нас буде, наприклад вік
107 і 18 на порівнянні, прогрма порахує, що 18 > 107 по
порядку. Тут цим знехтується, адже я сумніваюсь що існують
студенти яким >100 років.
*/
String age1 = Integer.toString(st1.age);
String age2 = Integer.toString(st2.age);
return age1.compareTo(age2);
}
}
}

View File

@ -1,44 +0,0 @@
package lab4;
public class Student {
// Створення полів класу.
public String firstName;
public String lastName;
public int age;
private String faculty;
private boolean hasStipend;
// Конструктор класу.
public Student(String fn, String ln, int age, String fac, boolean wealth) {
setValues(fn, ln, age, fac, wealth);
getValues();
}
/* Метод, який нічого не повертає.
Визначає поля класу.
*/
private void setValues(String fn, String ln, int age, String fac, boolean wealth) {
this.firstName = fn;
this.lastName = ln;
this.age = age;
this.faculty = fac;
this.hasStipend = wealth;
}
/* Метод, який нічого не повертає.
Виводить значення полів.
*/
private void getValues() {
System.out.println("Прізвище та ім'я: " + this.lastName + " " + this.firstName);
System.out.println("Вік: " + this.age);
System.out.println("Факультет: " + this.faculty);
System.out.print("Наявність стипендії: ");
if (this.hasStipend)
System.out.println("є");
else
System.out.println("немає");
System.out.println("~".repeat(40));
}
}

Binary file not shown.

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -1,17 +0,0 @@
package lab6;
public class Bmw extends Car {
public String mark = "BMW";
public Bmw(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: BMW");
super.printValues();
}
}

View File

@ -1,40 +0,0 @@
package lab6;
import java.util.Comparator;
public class Car {
protected String _model;
protected float speed;
protected int price;
protected int year;
protected float fuel;
protected float engineCapacity;
protected String country;
public Car(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
setValues(_model, speed, price, year, fuel, engineCapacity, country);
printValues();
}
public void setValues(String _m, float s, int p, int y, float f, float e, String c) {
this._model = _m;
this.speed = s;
this.price = p;
this.year = y;
this.fuel = f;
this.engineCapacity = e;
this.country = c;
}
public void printValues() {
System.out.println("Модель: " + _model + " " + year);
System.out.println("Максимальна швидкість: " + speed + "км/год");
System.out.println("Ціна: " + price + "$");
System.out.println("Витрати палива: " + fuel + "л/100км");
System.out.println("Об'єм двигуна: " + engineCapacity);
System.out.println("Країна-виробник: " + country);
System.out.println("~".repeat(40));
}
}

View File

@ -1,17 +0,0 @@
package lab6;
public class Ford extends Car {
public String mark = "Ford";
public Ford(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Ford");
super.printValues();
}
}

View File

@ -1,17 +0,0 @@
package lab6;
public class Lexus extends Car {
public String mark = "Lexus";
public Lexus(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Lexus\nМатеринська компанія: Toyota");
super.printValues();
}
}

View File

@ -1,55 +0,0 @@
package lab6;
/*
Номер заліковї книжки - 2518.
Завдання:
9)Визначити ієрархію легкових автомобілів. Створити таксопарк.
Порахувати вартість автопарку. Провести сортування автомобілів
парку за витратами палива. Знайти автомобіль у компанії, що
відповідає заданому діапазону швидкості автомобіля.
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println(" ".repeat(15) + "Таксопарк" + " ".repeat(15));
System.out.println("~".repeat(40));
Volkswagen Car1 = new Volkswagen("Golf 4", 224, 5000, 2001, 6.8f, 1.6f, "Німеччина");
Volkswagen Car2 = new Volkswagen("Passat", 240, 15000, 2007, 7.0f, 2.0f, "Німеччина");
Toyota Car3 = new Toyota("Prius", 231, 12500, 2014, 4.3f, 1.8f, "Японія");
Peguot Car4 = new Peguot("308", 220, 12000, 2007, 6.1f, 1.6f, "Франція");
Lexus Car5 = new Lexus("LS", 250, 80000, 2022, 10.9f, 3.5f, "Японія");
Skoda Car6 = new Skoda("Octavia", 220, 25000, 2022, 6.2f, 1.5f, "Чехія");
Ford Car7 = new Ford("Focus", 242, 7800, 2014, 6.9f, 2.0f, "США");
Bmw Car8 = new Bmw("5-Series", 250, 50000, 2018, 8.3f, 3.0f, "Німеччина");
Car[] CarList = new Car[] {Car1, Car2, Car3, Car4, Car5, Car6, Car7, Car8};
/*
Використовується лямбда функція, щоб описати компаратор в Arrays.sort().
*/
java.util.Arrays.sort(CarList, (a, b) -> Float.compare(a.fuel, b.fuel));
System.out.println("Сортування автомобілів за витратами палива:");
for (Car Car : CarList) {
System.out.println(Car._model + ": " + Car.fuel + "л/100км");
}
Scanner scanner = new Scanner(System.in);
System.out.print("\nВведіть діапазон швидкості автомобіля:\ід ");
float speed_down = scanner.nextFloat();
System.out.print("до ");
float speed_up = scanner.nextFloat();
System.out.println("Автомобілі із заданою швидкістю:");
for (Car Car : CarList) {
if ((Car.speed >= speed_down) && (Car.speed <= speed_up)) {
System.out.println(Car._model + ": " + Car.speed + " км/год");
}
}
}
}

View File

@ -1,17 +0,0 @@
package lab6;
public class Peguot extends Car {
public String mark = "Peguot";
public Peguot(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Peguot");
super.printValues();
}
}

View File

@ -1,17 +0,0 @@
package lab6;
public class Skoda extends Car {
public String mark = "Skoda";
public Skoda(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Skoda\nМатеринська компанія: Volkswagen");
super.printValues();
}
}

View File

@ -1,17 +0,0 @@
package lab6;
public class Toyota extends Car {
public String mark = "Toyota";
public Toyota(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Toyota");
super.printValues();
}
}

View File

@ -1,17 +0,0 @@
package lab6;
public class Volkswagen extends Car {
public String mark = "Volkswagen";
public Volkswagen(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Volkswagen");
super.printValues();
}
}

42
src/Main.java Normal file
View File

@ -0,0 +1,42 @@
public class Main {
public static void main(String[] args) {
System.out.println(args[2]);
System.out.println("Hello world!");
// System.out.println(1);
int a = 1;
int b = 2;
int c = 1;
int d = 1;
System.out.println(2&1);
System.out.println(2|1);
int aa = 2;
/*if (aa) {
}*/
// System.out.println("a"&"b");
System.out.println('a'&'b');
if ((a > b) & MyBooleanMethod()) {
System.out.println("?????????????????????????");
}
}
static boolean MyBooleanMethod() {
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
return true;
}
void myFunction() {
}
int myFunction2() {
return 1;
}
}

View File

@ -0,0 +1,20 @@
package encapsulationInheritancePolymorphism;
public class Encapsulation {
/*private*/ int field;
private int field2;
// int a = 1;
public void myMethodForTheField () {
System.out.println(field);
}
public void myMethodForTheField2 () {
System.out.println(field);
}
public void myMethodForTheFieldAndTheField2 () {
System.out.println(field);
}
}

View File

@ -0,0 +1,10 @@
package encapsulationInheritancePolymorphism;
public class EncapsulationInheritancePolymorphism {
public static void main(String[] args) {
int a = 1;
// var b = 2;
// System.out.println(b);
}
}

View File

@ -0,0 +1,14 @@
package encapsulationInheritancePolymorphism;
public class Main {
public static void main(String[] args) {
Student student = new Student();
//...
student.setFaculty("FPM", "MO-22");
}
}

View File

@ -0,0 +1,18 @@
package encapsulationInheritancePolymorphism;
public class Student {
private String name;
private String surname;
private String group;
private String faculty;
public String getName() {
return name;
}
public void setFaculty(String faculty, String group) {
this.faculty = faculty;
this.group = group;
}
}

View File

@ -0,0 +1,9 @@
package encapsulationInheritancePolymorphism.inheritance;
public class ElectricEngine extends Engine {
private String batteryType;
/*private class Engine {
private int power;
}*/
}

View File

@ -0,0 +1,5 @@
package encapsulationInheritancePolymorphism.inheritance;
public class Engine {
private int power;
}

View File

@ -0,0 +1,5 @@
package encapsulationInheritancePolymorphism.inheritance;
public class FuelEngine extends Engine {
private String fuelType;
}

View File

@ -0,0 +1,8 @@
package encapsulationInheritancePolymorphism.inheritance;
public class Main {
public static void main(String[] args) {
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
FuelEngine fuelEngine = new FuelEngine();
}
}

View File

@ -0,0 +1,14 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class ElectricEngine extends Engine {
private String batteryType;
@Override
public int getPower() {
return 20;
}
/*private class Engine {
private int power;
}*/
}

View File

@ -0,0 +1,9 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class Engine {
private int power;
public int getPower() {
return power;
}
}

View File

@ -0,0 +1,10 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class FuelEngine extends Engine {
private String fuelType;
@Override
public int getPower() {
return 50;
}
}

View File

@ -0,0 +1,38 @@
package encapsulationInheritancePolymorphism.polymorphism;
/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine;
import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/
public class Main {
public static void main(String[] args) {
/*encapsulationInheritancePolymorphism.inheritance.*/ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
/*encapsulationInheritancePolymorphism.inheritance.*/FuelEngine fuelEngine = new FuelEngine();
Engine engine1 = fuelEngine;
Engine[] engines = {
electricEngine,
fuelEngine
};
for (Engine engine : engines) {
System.out.println(engine.getPower());
}
/*for (int i = 0; i < engines.length; i++) {
System.out.println(engines[i].getPower());
}*/
// +
int a = 1;
int b = 1;
int c = a + b;
System.out.println(c);
String sA = "1";
String sB = "1";
String sC = sA + sB;
System.out.println(sC);
}
}

View File

@ -0,0 +1,19 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
public class ElectricEngine extends Engine {
private String batteryType;
private int chargeLevel = 9;
private int criticalChargeLevel = 10;
private float coefficientCriticalPowerCut = 0.1f;
@Override
public int getPower() {
return chargeLevel > criticalChargeLevel
? super.getPower()
: (int) (super.getPower() * coefficientCriticalPowerCut);
}
/*private class Engine {
private int power;
}*/
}

View File

@ -0,0 +1,9 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
public class Engine {
private int power = 100;
public int getPower() {
return power;
}
}

View File

@ -0,0 +1,10 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
public class FuelEngine extends Engine {
private String fuelType;
/*public int getPower() {
return 50;
}*/
}

View File

@ -0,0 +1,28 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine;
import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/
public class Main {
public static void main(String[] args) {
/*encapsulationInheritancePolymorphism.inheritance.*/
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
/*encapsulationInheritancePolymorphism.inheritance.*/
FuelEngine fuelEngine = new FuelEngine();
Engine engine1 = fuelEngine;
Engine[] engines = {
electricEngine,
fuelEngine
};
for (Engine engine : engines) {
System.out.println(engine.getPower());
}
/*for (int i = 0; i < engines.length; i++) {
System.out.println(engines[i].getPower());
}*/
}
}

View File

@ -0,0 +1,17 @@
package encapsulationInheritancePolymorphism.polymorphism.overload;
public class MyClassForOverloadExample {
void myMethod(int a) {
System.out.println("Integer: " + a);
}
void myMethod(double a) {
System.out.println("Double: " + a);
}
public static void main(String[] args) {
MyClassForOverloadExample overload = new MyClassForOverloadExample();
overload.myMethod(1);
overload.myMethod(0.1);
}
}

13
src/test/A.java Normal file
View File

@ -0,0 +1,13 @@
package test;
public class A {
/*private*/ int f/* = 3*/;
public int getF() {
return f;
}
public void setF(int f) {
this.f = f;
}
}

15
src/test/Main.java Normal file
View File

@ -0,0 +1,15 @@
package test;
public class Main {
public static void main(String[] args) {
A a = new A();
System.out.println(a.getF());
a.setF(1);
System.out.println(a.getF());
System.out.println(a.f);
int[] array = {1, 2, 1};
System.out.println(array.length);
}
}