Compare commits

..

7 Commits

Author SHA1 Message Date
dima0808
a81f01103f Add files via upload 2023-05-31 18:47:09 +02:00
dima0808
154398a013 Add files via upload 2023-03-31 18:24:41 +02:00
dima0808
75217080cc renewed lab1 2023-02-24 08:25:42 +01:00
dima0808
90fcc14d7e Delete OOP_IO-2x_2023.iml 2023-02-22 20:30:33 +01:00
dima0808
bb5b258ad3 Delete src directory 2023-02-22 20:29:35 +01:00
dima0808
40b2c64883 Delete .idea directory 2023-02-22 20:29:26 +01:00
dima0808
716b463e99 Add files via upload 2023-02-22 20:28:48 +01:00
96 changed files with 1053 additions and 735 deletions

8
.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# 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 generated
View File

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

8
.idea/modules.xml generated
View File

@@ -1,8 +0,0 @@
<?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 generated
View File

@@ -1,124 +0,0 @@
<?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 generated
View File

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

Binary file not shown.

21
lab1/src/Main.java Normal file
View File

@@ -0,0 +1,21 @@
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);
}
}

BIN
lab1/ООП lab1.pdf Normal file

Binary file not shown.

11
lab2/lab2.iml Normal file
View File

@@ -0,0 +1,11 @@
<?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.

59
lab2/src/Main.java Normal file
View File

@@ -0,0 +1,59 @@
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);
}
}
}

BIN
lab2/ООП lab2.pdf Normal file

Binary file not shown.

11
lab3/lab3.iml Normal file
View File

@@ -0,0 +1,11 @@
<?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.

54
lab3/src/Main.java Normal file
View File

@@ -0,0 +1,54 @@
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]
у
молодості
взяв
собі
за
правило
обіду
*/

BIN
lab3/ООП lab3.pdf Normal file

Binary file not shown.

11
lab4/lab4.iml Normal file
View File

@@ -0,0 +1,11 @@
<?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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

40
lab4/src/lab4/Main.java Normal file
View File

@@ -0,0 +1,40 @@
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

@@ -0,0 +1,52 @@
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

@@ -0,0 +1,44 @@
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));
}
}

BIN
lab4/ООП lab4.pdf Normal file

Binary file not shown.

11
lab5/lab5.iml Normal file
View File

@@ -0,0 +1,11 @@
<?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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,5 @@
package lab5;
public record Letter(char value) {
}

38
lab5/src/lab5/Main.java Normal file
View File

@@ -0,0 +1,38 @@
package lab5;
import java.util.*;
public class Main {
public static void main(String[] args) {
String inputText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam tempor dictum velit, vitae sollicitudin mauris facilisis et. Praesent mi odio, pretium eget sem ac, ultricies eleifend elit. Maecenas vulputate efficitur risus, a ornare lorem sollicitudin vitae. Pellentesque rhoncus posuere risus eu placerat. Maecenas luctus felis ac interdum sodales. Quisque nec est lectus.";
// Створений Text об'єкт
Text text = new Text(inputText);
// Пошук у першому реченні слів, яких немає в наступних реченнях
List<String> result = findUniqueWords(text);
System.out.println("Unique words in the first sentence: " + result);
}
public static List<String> findUniqueWords(Text text) {
if (text.getSentences().isEmpty()) {
throw new IllegalArgumentException("Text must contain at least one sentence.");
}
Sentence firstSentence = text.getSentences().get(0);
List<String> wordsInFirstSentence = firstSentence.getStringWords();
Set<String> uniqueWords = new HashSet<>(wordsInFirstSentence);
for (int i = 1; i < text.getSentences().size(); i++) {
Sentence sentence = text.getSentences().get(i);
List<String> wordsInCurrentSentence = sentence.getStringWords();
wordsInCurrentSentence.forEach(uniqueWords::remove);
}
return new ArrayList<>(uniqueWords);
}
}

View File

@@ -0,0 +1,5 @@
package lab5;
public record Punctuation(char value) {
}

View File

@@ -0,0 +1,62 @@
package lab5;
import java.util.ArrayList;
import java.util.List;
public class Sentence {
private final List<Object> wordsAndPunctuations;
public Sentence(String stringSentence) {
List<Object> wordsAndPunctuations = new ArrayList<>();
StringBuilder word = new StringBuilder();
for (int i = 0; i < stringSentence.length(); i++) {
char ch = stringSentence.charAt(i);
if (Character.isLetterOrDigit(ch)) {
word.append(ch);
} else if (Character.isWhitespace(ch)) {
if (word.length() > 0) {
wordsAndPunctuations.add(new Word(word.toString()));
word.setLength(0);
}
} else if (String.valueOf(ch).matches(".*\\p{Punct}.*")) {
if (word.length() > 0) {
wordsAndPunctuations.add(new Word(word.toString()));
word.setLength(0);
}
wordsAndPunctuations.add(new Punctuation(ch));
}
}
if (word.length() > 0) {
wordsAndPunctuations.add(new Word(word.toString()));
}
this.wordsAndPunctuations = wordsAndPunctuations;
}
public List<Object> getWordsAndPunctuations() {
return wordsAndPunctuations;
}
public List<Word> extractWords() {
List<Word> words = new ArrayList<>();
for (Object element : getWordsAndPunctuations()) {
if (element instanceof Word) {
words.add((Word) element);
}
}
return words;
}
public List<String> getStringWords() {
List<String> wordStrings = new ArrayList<>();
for (Word word : extractWords()) {
wordStrings.add(word.getStringWord());
}
return wordStrings;
}
}

21
lab5/src/lab5/Text.java Normal file
View File

@@ -0,0 +1,21 @@
package lab5;
import java.util.ArrayList;
import java.util.List;
public class Text {
private final List<Sentence> sentences;
public Text(String stringText) {
this.sentences = new ArrayList<>();
String[] splitText = stringText.split("(?<=[!.?])\\s*");
for (String sentence : splitText) {
getSentences().add(new Sentence(sentence));
}
}
public List<Sentence> getSentences() {
return sentences;
}
}

28
lab5/src/lab5/Word.java Normal file
View File

@@ -0,0 +1,28 @@
package lab5;
import java.util.ArrayList;
import java.util.List;
public class Word {
private final String stringWord;
private final List<Letter> letters;
public Word(String stringWord) {
List<Letter> letters = new ArrayList<>();
char[] chars = stringWord.toCharArray();
for (char c : chars) {
letters.add(new Letter(c));
}
this.letters = letters;
this.stringWord = stringWord;
}
public List<Letter> getLetters() {
return letters;
}
public String getStringWord() {
return stringWord;
}
}

11
lab6/lab6.iml Normal file
View File

@@ -0,0 +1,11 @@
<?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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

17
lab6/src/lab6/Bmw.java Normal file
View File

@@ -0,0 +1,17 @@
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();
}
}

40
lab6/src/lab6/Car.java Normal file
View File

@@ -0,0 +1,40 @@
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));
}
}

17
lab6/src/lab6/Ford.java Normal file
View File

@@ -0,0 +1,17 @@
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();
}
}

17
lab6/src/lab6/Lexus.java Normal file
View File

@@ -0,0 +1,17 @@
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();
}
}

55
lab6/src/lab6/Main.java Normal file
View File

@@ -0,0 +1,55 @@
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 + " км/год");
}
}
}
}

17
lab6/src/lab6/Peguot.java Normal file
View File

@@ -0,0 +1,17 @@
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();
}
}

17
lab6/src/lab6/Skoda.java Normal file
View File

@@ -0,0 +1,17 @@
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();
}
}

17
lab6/src/lab6/Toyota.java Normal file
View File

@@ -0,0 +1,17 @@
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

@@ -0,0 +1,17 @@
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();
}
}

11
lab7/lab7.iml Normal file
View File

@@ -0,0 +1,11 @@
<?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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

42
lab7/src/lab7/Car.java Normal file
View File

@@ -0,0 +1,42 @@
package lab7;
public class Car {
protected String mark;
protected String model;
protected int price;
protected int year;
protected float fuel;
public Car(String mark, String model, int price, int year, float fuel) {
setValues(mark, model, price, year, fuel);
}
// Цей конструктор був створений окремо для класу ElectricCar
public Car(String mark, String model, int price, int year) {
setValues(mark, model, price, year);
}
public void setValues(String mark, String model, int price, int year, float fuel) {
this.mark = mark;
this.model = model;
this.price = price;
this.year = year;
this.fuel = fuel;
}
public void setValues(String mark, String model, int price, int year) {
this.mark = mark;
this.model = model;
this.price = price;
this.year = year;
}
public void printValues() {
System.out.println("Марка: " + mark);
System.out.println("Модель: " + model + " " + year);
System.out.println("Ціна: " + price + "$");
System.out.println("Витрати палива: " + fuel + "л/100км");
}
}

View File

@@ -0,0 +1,137 @@
package lab7;
import java.util.*;
public class CarCollection<T extends Car> implements List<T> {
private final LinkedList<T> carList;
public CarCollection() {
carList = new LinkedList<>();
}
public CarCollection(T car) {
carList = new LinkedList<>();
carList.add(car);
}
public CarCollection(Collection<? extends T> c) {
carList = new LinkedList<>(c);
}
// Реалізація методів List
@Override
public int size() {
return carList.size();
}
@Override
public boolean isEmpty() {
return carList.isEmpty();
}
@Override
public boolean contains(Object o) {
return carList.contains(o);
}
@Override
public Iterator<T> iterator() {
return carList.iterator();
}
@Override
public Object[] toArray() {
return carList.toArray();
}
@Override
public <T1> T1[] toArray(T1[] a) {
return carList.toArray(a);
}
@Override
public boolean add(T t) {
return carList.add(t);
}
@Override
public boolean remove(Object o) {
return carList.remove(o);
}
@Override
public boolean containsAll(Collection<?> c) {
return carList.containsAll(c);
}
@Override
public boolean addAll(Collection<? extends T> c) {
return carList.addAll(c);
}
@Override
public boolean addAll(int index, Collection<? extends T> c) {
return carList.addAll(index, c);
}
@Override
public boolean removeAll(Collection<?> c) {
return carList.removeAll(c);
}
@Override
public boolean retainAll(Collection<?> c) {
return carList.retainAll(c);
}
@Override
public void clear() {
carList.clear();
}
@Override
public T get(int index) {
return carList.get(index);
}
@Override
public T set(int index, T element) {
return carList.set(index, element);
}
@Override
public void add(int index, T element) {
carList.add(index, element);
}
@Override
public T remove(int index) {
return carList.remove(index);
}
@Override
public int indexOf(Object o) {
return carList.indexOf(o);
}
@Override
public int lastIndexOf(Object o) {
return carList.lastIndexOf(o);
}
@Override
public ListIterator<T> listIterator() {
return carList.listIterator();
}
@Override
public ListIterator<T> listIterator(int index) {
return carList.listIterator(index);
}
@Override
public List<T> subList(int fromIndex, int toIndex) {
return carList.subList(fromIndex, toIndex);
}
}

View File

@@ -0,0 +1,29 @@
package lab7;
public class CombatsCar extends Car {
private final int crew;
private final float weight;
private final String country;
public CombatsCar(String mark, String model, int price, int year, float fuel, int crew, float weight, String country) {
super(mark, model, price, year, fuel);
this.crew = crew;
this.weight = weight;
this.country = country;
}
public String getCountry() {
return country;
}
public void printValues() {
super.printValues();
System.out.println("--- Особливості бойової машини ---");
System.out.println("Екіпаж: " + crew + " людей");
System.out.println("Бойова маса: " + weight + "т");
System.out.println("Країна-виробник: " + country);
}
}

View File

@@ -0,0 +1,25 @@
package lab7;
public class ElectricCar extends Car {
private final float electricity;
private final float chargingSpeed;
public ElectricCar(String mark, String model, int price, int year, float electricity, int chargingSpeed) {
super(mark, model, price, year);
this.electricity = electricity;
this.chargingSpeed = chargingSpeed;
}
public float getElectricity() {
return electricity;
}
public void printValues() {
super.printValues();
System.out.println("-Особливості електрокару-");
System.out.println("Споживання електроенергії: " + electricity + " кВт·год/100км");
System.out.println("Швидкість зарядки (з 0% до 100%): " + chargingSpeed + " хв");
}
}

73
lab7/src/lab7/Main.java Normal file
View File

@@ -0,0 +1,73 @@
package lab7;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// Використання пустого конструктора CarCollection
CarCollection<SportsCar> sportsCars = new CarCollection<>();
sportsCars.add(new SportsCar("Ferrari", "458 Italia", 230000, 2015, 9.8f, 562, 202, 4.5f));
sportsCars.add(new SportsCar("Lamborghini", "Huracan", 260000, 2020, 9.5f, 640, 211, 5.2f));
sportsCars.add(new SportsCar("Porsche", "911", 150000, 2018, 14.3f, 450, 191, 3.0f));
sportsCars.add(new SportsCar("McLaren", "570S", 200000, 2017, 11.2f, 562, 204, 3.8f));
sportsCars.add(new SportsCar("Aston Martin", "Vantage", 150000, 2021, 12.3f, 503, 195, 4.0f));
// Сортування спорткарів за ціною
System.out.println("~~~~~ Відсортовані спорткари за ціною ~~~~~");
sportsCars.sort(Comparator.comparingInt(SportsCar::getPrice));
for (int i = sportsCars.size() - 1; i >= 0; i--) {
sportsCars.get(i).printValues();
System.out.println();
}
// Використання конструктора CarCollection з передаванням в його лише один об'єкт
CarCollection<CombatsCar> combatsCars = new CarCollection<>(new CombatsCar("Humvee", "M1114", 220000, 1995, 6.5f, 4, 5.5f, "США"));
combatsCars.add(new CombatsCar("Puma", "IFV", 3500000, 2010, 10.7f, 6, 31f, "Німеччина"));
combatsCars.add(new CombatsCar("Warrior", "IFV", 4500000, 1988, 12.4f, 3, 29f, "Великобританія"));
combatsCars.add(new CombatsCar("ZBD", "05", 1200000, 2011, 9.4f, 4, 25f, "Китай"));
combatsCars.add(new CombatsCar("VBCI", "IFV", 5000000, 2008, 10.7f, 8, 32f, "Франція"));
// Пошук бойової машини за країною-виробником
Scanner scanner = new Scanner(System.in);
System.out.print("Введіть країну-виробницю бойової машини: ");
String userCountry = scanner.nextLine();
System.out.println("Результати пошуку:\n");
for (CombatsCar car : combatsCars) {
if (car.getCountry().equals(userCountry)) {
car.printValues();
}
}
ArrayList<ElectricCar> electricCarsList = new ArrayList<>();
electricCarsList.add(new ElectricCar("Tesla", "Model S", 80000, 2022, 21.5f, 45));
electricCarsList.add(new ElectricCar("Chevrolet", "Bolt", 35000, 2021, 28.0f, 60));
electricCarsList.add(new ElectricCar("Nissan", "Leaf", 32000, 2021, 24.0f, 40));
electricCarsList.add(new ElectricCar("BMW", "i3", 45000, 2021, 19.5f, 30));
electricCarsList.add(new ElectricCar("Hyundai", "Kona", 42000, 2022, 22.0f, 50));
// Використання конструктора CarCollection з передаванням в його колекцію об'єктів
CarCollection<ElectricCar> electricCars = new CarCollection<>(electricCarsList);
// Пошук автомобіля по діапазону споживання електроенергії
System.out.println("\nВведіть діапазон споживання електроенергії (кВт·год/100км):");
System.out.print("від ");
float electricityLowerLimit = scanner.nextFloat();
System.out.print("до ");
float electricityUpperLimit = scanner.nextFloat();
System.out.println("Результати пошуку:\n");
for (ElectricCar car : electricCars) {
if (car.getElectricity() < electricityUpperLimit & car.getElectricity() > electricityLowerLimit) {
car.printValues();
}
}
}
}

View File

@@ -0,0 +1,28 @@
package lab7;
public class SportsCar extends Car {
private final int power;
private final float speed;
private final float engineCapacity;
public SportsCar(String mark, String model, int price, int year, float fuel, int power, float speed, float engineCapacity) {
super(mark, model, price, year, fuel);
this.power = power;
this.speed = speed;
this.engineCapacity = engineCapacity;
}
public int getPrice() {
return price;
}
public void printValues() {
super.printValues();
System.out.println("-Особливості спорткару-");
System.out.println("Потужість: " + power + " кінських сил");
System.out.println("Максимальна швидкість: " + speed + " км/год");
System.out.println("Об'єм двигуна: " + engineCapacity + "л");
}
}

View File

@@ -1,43 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab1;
import java.util.Scanner;
public class Lab1 {
public static void main(String[] args) {
// O1 = +
// C = 2
// O2 = %
// i, j = short(-32.768 to 32.768)
final int c = 2;
double result = 0;
Scanner scan = new Scanner(System.in);
System.out.print("Enter a: ");
int a = scan.nextInt();// Entering a
System.out.print("Enter b: ");
int b = scan.nextInt();// Entering b
System.out.print("Enter n: ");
int n = scan.nextInt();// Entering n
System.out.print("Enter m: ");
int m = scan.nextInt();// Entering m
scan.close();
if (a <= -c && n >= -c || b <= 0 && m >= 0) {
System.out.println("Error! Division by zero");
return;
}
else if(a > n || b > m){
result = 0;
System.out.println(result);
return;
}
for (short i = (short) a; i <= n; i++) {
for (short j = (short) b; j <= m; j++) {
result += (double) (i % j) / (i + c); //Calculation of the result
}
}
System.out.println("\ns = " + result); // Outputting the result
}
}

View File

@@ -1,84 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab2;
import java.util.Scanner;
public class Lab2 {
public static void main(String[] args) {
// C5 = 2
// C7 = 1
// C11 = 4
Scanner scan = new Scanner(System.in);
System.out.print("Enter the number of matrix rows: ");
int m = scan.nextInt();
System.out.print("Enter the number of matrix columns: ");
int n = scan.nextInt();
System.out.println("\nFilling matrix A:");
byte[][] matrixA = new byte[m][n]; // Creating MxN matrix A
scanMatrix(matrixA, scan);
System.out.println("\nMatrix A"); // Printing matrix A
printMatrix(matrixA);
System.out.println("\nFilling matrix B:");
byte[][] matrixB = new byte[m][n];// Creating MxN matrix B
scanMatrix(matrixB, scan);
scan.close();
System.out.println("\nMatrix B:");// Printing matrix B
printMatrix(matrixB);
System.out.println("\nMatrix C:");
byte[][] matrixC = new byte[m][n];// Creating matrix C
for (byte i = 0; i < m; i++) {
for (byte j = 0; j < n; j++) {
matrixC[i][j] = (byte) (matrixA[i][j] + matrixB[i][j]);
System.out.print(matrixC[i][j] + "\t ");
}
System.out.println();
}
byte evenSum = 0; // Sum for the largest numbers in even rows
byte oddSum = 0;// Sum for the smallest numbers in even rows
for (byte i = 0; i < matrixC.length; i++) {
byte largest = Byte.MIN_VALUE; // variable for largest element
byte smallest = Byte.MAX_VALUE;// variable for smallest element
for (byte j = 0; j < matrixC[i].length; j++) {
if (i % 2 == 0) {
smallest = (byte) Math.min(smallest, matrixC[i][j]);
} else {
largest = (byte) Math.max(largest, matrixC[i][j]);
}
}
if (i % 2 == 0) {
oddSum += smallest;
} else {
evenSum += largest;
}
}
System.out.println("\nSum of the biggest elements: " + evenSum);
System.out.println("Sum of the smallest elements: " + oddSum);
}
private static void scanMatrix(byte[][] matrix, Scanner scan) { //Method for filling matrix
for (byte i = 0; i < matrix.length; i++) {
for (byte j = 0; j < matrix[i].length; j++) {
System.out.printf("Enter element [%d][%d]", i, i);
matrix[i][j] = scan.nextByte();
}
}
}
private static void printMatrix(byte[][] matrix) {//Method for printing matrix
for (byte[] row : matrix) {
for (byte el : row) {
System.out.print(el + "\t ");
}
System.out.println();
}
}
}

View File

@@ -1,25 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab3;
import java.util.*;
public class Lab3 {
// String
// Надрукувати слова без повторень заданого тексту в алфавітному порядку за першою літерою.
public static void main(String[] args) {
String text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mauris a diam maecenas sed enim ut sem viverra. Amet est placerat in egestas erat imperdiet. Sed turpis tincidunt id aliquet risus. Amet porttitor eget dolor morbi non arcu risus quis. Elementum nibh tellus molestie nunc non blandit massa. Feugiat scelerisque varius morbi enim nunc faucibus. Ipsum faucibus vitae aliquet nec ullamcorper sit amet risus nullam. Quis enim lobortis scelerisque fermentum dui faucibus in. Sem viverra aliquet eget sit amet tellus cras adipiscing enim. Sed ullamcorper morbi tincidunt ornare. Sodales ut eu sem integer vitae justo eget magna. Mi ipsum faucibus vitae aliquet nec ullamcorper.";
String[] words = text.split("[\\p{Punct}\\s]+");
List<String> wordList = new ArrayList<>(Arrays.asList(words));//Class ArrayList implements interface List
// asList returns immutable list
Set<String> wordSet = new HashSet<>(wordList);// Class HashSet implements interface Set
wordList.clear();
wordList.addAll(wordSet);
wordList.sort(String::compareToIgnoreCase);
wordList.sort((o1, o2) -> o1.compareToIgnoreCase(o2));
for (String element : wordList) {
System.out.println(element);
}
}
}

View File

@@ -1,34 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab4;
/**
* Class that represents a boat with different characteristics.
*/
public class Boat {
private final String name;
private final int price;
private final int mass;
private final int age;
private final String type;
public Boat(String name, int price, int mass, int age, String type) {
this.name = name;
this.price = price;
this.mass = mass;
this.age = age;
this.type = type;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
@Override
public String toString() {
return String.format("%s - %s, which was built %d years ago, with mass - %d kg, has price - %d$;",
type, name, age, mass, price);
}
}

View File

@@ -1,35 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab4;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Lab4 {
public static void main(String[] args) {
List<Boat> boatList = Arrays.asList(
new Boat("Row V. Wave", 150000, 50000, 25, "cutter"),
new Boat("Dirty Oar", 250000, 40000, 15, "cutter"),
new Boat("Tumeric", 450000, 100000, 45, "cutter"),
new Boat("Life is Good", 350000, 20000, 5, "cutter")
);
boatList.sort(Comparator.comparing(Boat::getName));// comparing - method of Comparator interface
System.out.println("Sorted by name:");
printed(boatList);
boatList.sort(Comparator.comparing(Boat::getPrice).reversed());
System.out.println("\nSorted by price in reverse order:");
printed(boatList);
}
/**
* Print all characteristics of boats.
*
* @param boatList List of boats.
*/
public static void printed(List<Boat> boatList) {
for (Boat boat : boatList) {
System.out.println(boat);
}
}
}

View File

@@ -1,12 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
import java.util.*;
public class Lab5 {
public static void main(String[] args) {
Text text = new Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mauris a diam maecenas sed enim ut sem viverra. Amet est placerat in egestas erat imperdiet. Sed turpis tincidunt id aliquet risus. Amet porttitor eget dolor morbi non arcu risus quis. Elementum nibh tellus molestie nunc non blandit massa. Feugiat scelerisque varius morbi enim nunc faucibus. Ipsum faucibus vitae aliquet nec ullamcorper sit amet risus nullam. Quis enim lobortis scelerisque fermentum dui faucibus in. Sem viverra aliquet eget sit amet tellus cras adipiscing enim. Sed ullamcorper morbi tincidunt ornare. Sodales ut eu sem integer vitae justo eget magna. Mi ipsum faucibus vitae aliquet nec ullamcorper.");
System.out.println(text);
text.getSortedWordsByFirstLetter();
}
}

View File

@@ -1,14 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public class Letter {
private final char character;
public Letter(char character) {
this.character = character;
}
@Override
public String toString() {
return String.valueOf(character);
}
}

View File

@@ -1,14 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public class Punctuation implements SentenceElement {
private final String character;
public Punctuation(String character) {
this.character = character;
}
@Override
public String toString() {
return character;
}
}

View File

@@ -1,55 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
import java.util.Arrays;
import java.util.HashSet;
public class Sentence {
private final SentenceElement[] sentenceElements;
private static final String PUNCTUATION = "\\p{Punct}";
public Sentence(String sentences) {
String[] sentenceElement = sentences.split("(?=" + PUNCTUATION + ")| ");
sentenceElements = new SentenceElement[sentenceElement.length];
for (int i = 0; i < sentenceElement.length; i++) {
if (sentenceElement[i].matches(PUNCTUATION)) {
sentenceElements[i] = new Punctuation(sentenceElement[i]);
} else {
sentenceElements[i] = new Word(sentenceElement[i]);
}
}
}
public static void getSortedWordsByFirstLetter(Sentence[] sentences) {
StringBuilder allWords = new StringBuilder();
for (Sentence sentence : sentences) {
allWords.append(sentence).append(" ");
}
String[] words = allWords.toString().split("\\W+");
HashSet<String> uniqueWords = new HashSet<>();
for (String word : words) {
uniqueWords.add(word.toLowerCase());
}
String[] uniqueSortedWords = uniqueWords.toArray(new String[0]);
Arrays.sort(uniqueSortedWords);
for (String word : uniqueSortedWords) {
System.out.println(word);
}
}
@Override
public String toString() {
StringBuilder out = new StringBuilder();
for (SentenceElement se : sentenceElements) {
if (se.getClass().isAssignableFrom(Word.class)) {
out.append(" ");
}
out.append(se);
}
return out.toString();
}
}

View File

@@ -1,5 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public interface SentenceElement {
// Об'єднуєм два типа
}

View File

@@ -1,26 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public class Text {
private final Sentence[] sentences;
public Text(String text) {
String[] splitText = text.split("(?=[.!?]+)| ");
sentences = new Sentence[splitText.length];
for (int i = 0; i < splitText.length; i++) {
sentences[i] = new Sentence(splitText[i]);
}
}
public void getSortedWordsByFirstLetter() {
Sentence.getSortedWordsByFirstLetter(sentences);
}
@Override
public String toString() {
StringBuilder out = new StringBuilder();
for (Sentence sentence : sentences) {
out.append(sentence.toString());
}
return out.toString().strip();
}
}

View File

@@ -1,21 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public class Word implements SentenceElement {
private final Letter[] letters;
public Word(String word) {
letters = new Letter[word.length()];
for (int i = 0; i < word.length(); i++) {
letters[i] = new Letter(word.charAt(i));
}
}
@Override
public String toString() {
StringBuilder out = new StringBuilder();
for (Letter let : letters) {
out.append(let.toString());
}
return out.toString();
}
}

View File

@@ -1,7 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Comfort extends Tariff {
public Comfort(String name, int price, int customers) {
super(name, price, customers);
}
}

View File

@@ -1,8 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Economy extends Tariff {
public Economy(String name, int price, int customers) {
super(name, price, customers);
}
}

View File

@@ -1,48 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Lab6 {
public static void main(String[] args) {
Comfort tariff1 = new Comfort("Comfort", 100, 5000);
Economy tariff2 = new Economy("Economy", 25, 10000);
Optimal tariff3 = new Optimal("Optimal", 300, 50000);
Tariff[] tariffs = {tariff1, tariff2, tariff3};
int sum = 0;
System.out.println("Тарифи мобільної мобільної компанії:");
for (int i = 0; i < tariffs.length; i++) {
System.out.printf("\t%d. %s%n", i + 1, tariffs[i].getName());
sum += tariffs[i].getCustomers();
}
System.out.println("\nЗагальна кількість користувачів: " + sum + ";");
System.out.println("\nТарифи мобільної компанії відсортовані за вартістю:");
Arrays.sort(tariffs, Comparator.comparing(Tariff::getPrice));
for (int i = 0; i < tariffs.length; i++) {
System.out.printf("\t%d. %s%n", i + 1, tariffs[i]);
}
System.out.println("\nВведіть діапазон цін, в якому бажаєте підібрати тариф: ");
Scanner scan = new Scanner(System.in);
System.out.print("\tМінімальна ціна: ");
int minSum = scan.nextInt();
System.out.print("\tМаксимальна ціна: ");
int maxSum = scan.nextInt();
scan.close();
int n2 = 0;
System.out.println("\ідібрані тарифи: ");
for (int i = 0; i < tariffs.length; i++) {
if (minSum <= tariffs[i].getPrice() && tariffs[i].getPrice() <= maxSum) {
System.out.printf("\t%d. %s%n", i + 1, tariffs[i]);
n2 += 1;
}
}
if (n2 == 0) {
System.out.println("\tНе знайдено тарифів в заданому діапазоні цін;");
}
}
}

View File

@@ -1,7 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Optimal extends Tariff {
public Optimal(String name, int price, int customers) {
super(name, price, customers);
}
}

View File

@@ -1,30 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Tariff {
private final String name;
private final int price;
private final int customers;
public Tariff(String name, int price, int customers) {
this.name = name;
this.price = price;
this.customers = customers;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
public int getCustomers() {
return customers;
}
@Override
public String toString() {
return "Тариф " + name + ", коштує " + price + " грн.";
}
}

View File

@@ -1,15 +0,0 @@
public class Main {
public static void main(String[] args) {
System.out.println(args[1]);
System.out.println("Hello world!");
// System.out.println(1);
}
void myFunction() {
}
int myFunction2() {
return 1;
}
}

View File

@@ -1,20 +0,0 @@
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

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

View File

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

View File

@@ -1,18 +0,0 @@
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

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

View File

@@ -1,15 +0,0 @@
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);
}
}