mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-01 21:21:50 +03:00
Compare commits
7 Commits
ІО-24/12-З
...
ІО-25/18-М
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a81f01103f | ||
|
|
154398a013 | ||
|
|
75217080cc | ||
|
|
90fcc14d7e | ||
|
|
bb5b258ad3 | ||
|
|
40b2c64883 | ||
|
|
716b463e99 |
8
.idea/.gitignore
generated
vendored
8
.idea/.gitignore
generated
vendored
@@ -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
6
.idea/misc.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?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
generated
8
.idea/modules.xml
generated
@@ -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
124
.idea/uiDesigner.xml
generated
@@ -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
6
.idea/vcs.xml
generated
@@ -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>
|
||||
BIN
lab1/out/production/lab1/Main.class
Normal file
BIN
lab1/out/production/lab1/Main.class
Normal file
Binary file not shown.
21
lab1/src/Main.java
Normal file
21
lab1/src/Main.java
Normal 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
BIN
lab1/ООП lab1.pdf
Normal file
Binary file not shown.
11
lab2/lab2.iml
Normal file
11
lab2/lab2.iml
Normal 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>
|
||||
BIN
lab2/out/production/lab2/Main.class
Normal file
BIN
lab2/out/production/lab2/Main.class
Normal file
Binary file not shown.
59
lab2/src/Main.java
Normal file
59
lab2/src/Main.java
Normal 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
BIN
lab2/ООП lab2.pdf
Normal file
Binary file not shown.
11
lab3/lab3.iml
Normal file
11
lab3/lab3.iml
Normal 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>
|
||||
BIN
lab3/out/production/lab3/Main.class
Normal file
BIN
lab3/out/production/lab3/Main.class
Normal file
Binary file not shown.
54
lab3/src/Main.java
Normal file
54
lab3/src/Main.java
Normal 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
BIN
lab3/ООП lab3.pdf
Normal file
Binary file not shown.
11
lab4/lab4.iml
Normal file
11
lab4/lab4.iml
Normal 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>
|
||||
BIN
lab4/out/production/lab4/lab4/Main.class
Normal file
BIN
lab4/out/production/lab4/lab4/Main.class
Normal file
Binary file not shown.
BIN
lab4/out/production/lab4/lab4/Sorting$SortByAge.class
Normal file
BIN
lab4/out/production/lab4/lab4/Sorting$SortByAge.class
Normal file
Binary file not shown.
BIN
lab4/out/production/lab4/lab4/Sorting$SortByAlphabet.class
Normal file
BIN
lab4/out/production/lab4/lab4/Sorting$SortByAlphabet.class
Normal file
Binary file not shown.
BIN
lab4/out/production/lab4/lab4/Sorting.class
Normal file
BIN
lab4/out/production/lab4/lab4/Sorting.class
Normal file
Binary file not shown.
BIN
lab4/out/production/lab4/lab4/Student.class
Normal file
BIN
lab4/out/production/lab4/lab4/Student.class
Normal file
Binary file not shown.
40
lab4/src/lab4/Main.java
Normal file
40
lab4/src/lab4/Main.java
Normal 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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
52
lab4/src/lab4/Sorting.java
Normal file
52
lab4/src/lab4/Sorting.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
44
lab4/src/lab4/Student.java
Normal file
44
lab4/src/lab4/Student.java
Normal 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
BIN
lab4/ООП lab4.pdf
Normal file
Binary file not shown.
11
lab5/lab5.iml
Normal file
11
lab5/lab5.iml
Normal 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>
|
||||
BIN
lab5/out/production/lab5/lab5/Letter.class
Normal file
BIN
lab5/out/production/lab5/lab5/Letter.class
Normal file
Binary file not shown.
BIN
lab5/out/production/lab5/lab5/Main.class
Normal file
BIN
lab5/out/production/lab5/lab5/Main.class
Normal file
Binary file not shown.
BIN
lab5/out/production/lab5/lab5/Punctuation.class
Normal file
BIN
lab5/out/production/lab5/lab5/Punctuation.class
Normal file
Binary file not shown.
BIN
lab5/out/production/lab5/lab5/Sentence.class
Normal file
BIN
lab5/out/production/lab5/lab5/Sentence.class
Normal file
Binary file not shown.
BIN
lab5/out/production/lab5/lab5/Text.class
Normal file
BIN
lab5/out/production/lab5/lab5/Text.class
Normal file
Binary file not shown.
BIN
lab5/out/production/lab5/lab5/Word.class
Normal file
BIN
lab5/out/production/lab5/lab5/Word.class
Normal file
Binary file not shown.
5
lab5/src/lab5/Letter.java
Normal file
5
lab5/src/lab5/Letter.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package lab5;
|
||||
|
||||
public record Letter(char value) {
|
||||
|
||||
}
|
||||
38
lab5/src/lab5/Main.java
Normal file
38
lab5/src/lab5/Main.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
5
lab5/src/lab5/Punctuation.java
Normal file
5
lab5/src/lab5/Punctuation.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package lab5;
|
||||
|
||||
public record Punctuation(char value) {
|
||||
|
||||
}
|
||||
62
lab5/src/lab5/Sentence.java
Normal file
62
lab5/src/lab5/Sentence.java
Normal 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
21
lab5/src/lab5/Text.java
Normal 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
28
lab5/src/lab5/Word.java
Normal 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
11
lab6/lab6.iml
Normal 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>
|
||||
BIN
lab6/out/production/lab6/lab6/Bmw.class
Normal file
BIN
lab6/out/production/lab6/lab6/Bmw.class
Normal file
Binary file not shown.
BIN
lab6/out/production/lab6/lab6/Car.class
Normal file
BIN
lab6/out/production/lab6/lab6/Car.class
Normal file
Binary file not shown.
BIN
lab6/out/production/lab6/lab6/Ford.class
Normal file
BIN
lab6/out/production/lab6/lab6/Ford.class
Normal file
Binary file not shown.
BIN
lab6/out/production/lab6/lab6/Lexus.class
Normal file
BIN
lab6/out/production/lab6/lab6/Lexus.class
Normal file
Binary file not shown.
BIN
lab6/out/production/lab6/lab6/Main.class
Normal file
BIN
lab6/out/production/lab6/lab6/Main.class
Normal file
Binary file not shown.
BIN
lab6/out/production/lab6/lab6/Peguot.class
Normal file
BIN
lab6/out/production/lab6/lab6/Peguot.class
Normal file
Binary file not shown.
BIN
lab6/out/production/lab6/lab6/Skoda.class
Normal file
BIN
lab6/out/production/lab6/lab6/Skoda.class
Normal file
Binary file not shown.
BIN
lab6/out/production/lab6/lab6/Toyota.class
Normal file
BIN
lab6/out/production/lab6/lab6/Toyota.class
Normal file
Binary file not shown.
BIN
lab6/out/production/lab6/lab6/Volkswagen.class
Normal file
BIN
lab6/out/production/lab6/lab6/Volkswagen.class
Normal file
Binary file not shown.
17
lab6/src/lab6/Bmw.java
Normal file
17
lab6/src/lab6/Bmw.java
Normal 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
40
lab6/src/lab6/Car.java
Normal 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
17
lab6/src/lab6/Ford.java
Normal 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
17
lab6/src/lab6/Lexus.java
Normal 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
55
lab6/src/lab6/Main.java
Normal 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Введіть діапазон швидкості автомобіля:\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
17
lab6/src/lab6/Peguot.java
Normal 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
17
lab6/src/lab6/Skoda.java
Normal 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
17
lab6/src/lab6/Toyota.java
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
17
lab6/src/lab6/Volkswagen.java
Normal file
17
lab6/src/lab6/Volkswagen.java
Normal 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
11
lab7/lab7.iml
Normal 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>
|
||||
BIN
lab7/out/production/lab7/lab7/Car.class
Normal file
BIN
lab7/out/production/lab7/lab7/Car.class
Normal file
Binary file not shown.
BIN
lab7/out/production/lab7/lab7/CarCollection.class
Normal file
BIN
lab7/out/production/lab7/lab7/CarCollection.class
Normal file
Binary file not shown.
BIN
lab7/out/production/lab7/lab7/CombatsCar.class
Normal file
BIN
lab7/out/production/lab7/lab7/CombatsCar.class
Normal file
Binary file not shown.
BIN
lab7/out/production/lab7/lab7/ElectricCar.class
Normal file
BIN
lab7/out/production/lab7/lab7/ElectricCar.class
Normal file
Binary file not shown.
BIN
lab7/out/production/lab7/lab7/Main.class
Normal file
BIN
lab7/out/production/lab7/lab7/Main.class
Normal file
Binary file not shown.
BIN
lab7/out/production/lab7/lab7/SportsCar.class
Normal file
BIN
lab7/out/production/lab7/lab7/SportsCar.class
Normal file
Binary file not shown.
42
lab7/src/lab7/Car.java
Normal file
42
lab7/src/lab7/Car.java
Normal 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км");
|
||||
}
|
||||
|
||||
}
|
||||
137
lab7/src/lab7/CarCollection.java
Normal file
137
lab7/src/lab7/CarCollection.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
29
lab7/src/lab7/CombatsCar.java
Normal file
29
lab7/src/lab7/CombatsCar.java
Normal 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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
25
lab7/src/lab7/ElectricCar.java
Normal file
25
lab7/src/lab7/ElectricCar.java
Normal 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
73
lab7/src/lab7/Main.java
Normal 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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
28
lab7/src/lab7/SportsCar.java
Normal file
28
lab7/src/lab7/SportsCar.java
Normal 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 + "л");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
System.out.println(args[2]);
|
||||
System.out.println("Hello world!");
|
||||
// System.out.println(1);
|
||||
}
|
||||
|
||||
void myFunction() {
|
||||
|
||||
}
|
||||
|
||||
int myFunction2() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
import java.util.Scanner;
|
||||
|
||||
public class FirstLab {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Scanner scn = new Scanner(System.in);
|
||||
final int C = 0;
|
||||
double S = 0.0;
|
||||
System.out.print("Enter a: ");
|
||||
int a = scn.nextInt();
|
||||
System.out.print("Enter b: ");
|
||||
int b = scn.nextInt();
|
||||
System.out.print("Enter n: ");
|
||||
int n = scn.nextInt();
|
||||
System.out.print("Enter m: ");
|
||||
int m = scn.nextInt();
|
||||
if ((a <= 0 & n >= 0) | (b <= 0 & m >= 0)){
|
||||
System.out.println("Division by 0!");
|
||||
} else {
|
||||
for (char i = (char) a; i <= n; i++) {
|
||||
for(char j = (char) b; j <= m; j++) {
|
||||
S += (double) (i % j) / (i + C);
|
||||
}
|
||||
}
|
||||
System.out.printf("Result - %.3f", S);
|
||||
}
|
||||
|
||||
scn.close();
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
import java.util.Scanner;
|
||||
import java.util.Random;
|
||||
|
||||
public class SecondLab {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Scanner scn = new Scanner(System.in);
|
||||
Random rnd = new Random();
|
||||
System.out.print("Enter number of rows in matrix A: ");
|
||||
int mA = scn.nextInt();
|
||||
System.out.print("Enter the number of columns in matrix A: ");
|
||||
int nA = scn.nextInt();
|
||||
System.out.print("Enter number of rows in matrix B: ");
|
||||
int mB = scn.nextInt();
|
||||
System.out.print("Enter the number of columns in matrix B: ");
|
||||
int nB = scn.nextInt();
|
||||
long largest, sum = 0L;
|
||||
if(mA != mB || nA != nB) {
|
||||
System.out.println("Unable to add matrices!");
|
||||
} else {
|
||||
long[][] matrixA = new long[mA][nA];
|
||||
long[][] matrixB = new long[mB][nB];
|
||||
long[][] matrixC = new long[mA][nA];
|
||||
|
||||
System.out.println("Matrix A: ");
|
||||
for(int i = 0; i < mA; i++) {
|
||||
for(int j = 0; j < nA; j++) {
|
||||
matrixA[i][j] = rnd.nextLong(10, 50) + 10;
|
||||
System.out.printf("|%d", matrixA[i][j]);
|
||||
}
|
||||
System.out.println("|");
|
||||
}
|
||||
System.out.println("Matrix B: ");
|
||||
for(int i = 0; i < nA; i++) {
|
||||
for(int j = 0; j < nB; j++) {
|
||||
matrixB[i][j] = rnd.nextLong(10, 50) + 10;
|
||||
System.out.printf("|%d", matrixB[i][j]);
|
||||
}
|
||||
System.out.println("|");
|
||||
}
|
||||
System.out.println("Matrix C: ");
|
||||
for(int i = 0; i < mA; i++) {
|
||||
for(int j = 0; j < nA; j++) {
|
||||
matrixC[i][j] = matrixA[i][j] + matrixB[i][j];
|
||||
System.out.printf("|%d", matrixC[i][j]);
|
||||
}
|
||||
System.out.println("|");
|
||||
}
|
||||
for(long[] row: matrixC) {
|
||||
largest = row[0];
|
||||
for(long elem : row) {
|
||||
if(elem > largest) {
|
||||
largest = elem;
|
||||
}
|
||||
}
|
||||
sum += largest;
|
||||
}
|
||||
System.out.printf("Sum = %d", sum);
|
||||
}
|
||||
scn.close();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
import java.util.Scanner;
|
||||
|
||||
public class ThirdLab {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Scanner scn = new Scanner(System.in);
|
||||
System.out.print("Enter a string: ");
|
||||
String text = scn.nextLine();
|
||||
StringBuilder textBuilder = new StringBuilder(text);
|
||||
System.out.print("Enter a string to replace the words: ");
|
||||
String replace = scn.nextLine();
|
||||
System.out.print("Enter the length of the words to replace: ");
|
||||
int length = scn.nextInt();
|
||||
String[] words = textBuilder.toString().split("\\s+");
|
||||
textBuilder.setLength(0);
|
||||
for(String word : words) {
|
||||
if(word.charAt(word.length()-1) == '.' && word.length() - 1 == length) {
|
||||
textBuilder.append(replace + ". ");
|
||||
} else if (word.charAt(word.length() - 1) == '!' && word.length() - 1 == length) {
|
||||
textBuilder.append(replace + "! ");
|
||||
} else if (word.charAt(word.length() - 1) == '?' && word.length() - 1 == length) {
|
||||
textBuilder.append(replace + "? ");
|
||||
} else if (word.length() == length) {
|
||||
textBuilder.append(replace + " ");
|
||||
} else {
|
||||
textBuilder.append(word + " ");
|
||||
}
|
||||
}
|
||||
|
||||
System.out.printf("Result: %s", textBuilder);
|
||||
scn.close();
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
import java.util.Comparator;
|
||||
|
||||
public class Airplane {
|
||||
private String name;
|
||||
private String type;
|
||||
private int weight;
|
||||
private int amountOfEngines;
|
||||
private int year;
|
||||
private String color;
|
||||
private int capacity;
|
||||
private int price;
|
||||
|
||||
|
||||
public Airplane(String name, String type, int weight, int amountOfEngines, int year, String color, int capacity, int price) {
|
||||
this.name = name;
|
||||
this.type = type;
|
||||
this.weight = weight;
|
||||
this.amountOfEngines = amountOfEngines;
|
||||
this.year = year;
|
||||
this.color = color;
|
||||
this.capacity = capacity;
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public int getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public int getYear() {
|
||||
return year;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Plane : " +
|
||||
"name = " + name +
|
||||
", type = " + type +
|
||||
", weight = " + weight + " tons" +
|
||||
", amount of engines = " + amountOfEngines +
|
||||
", year = " + year +
|
||||
", color = " + color +
|
||||
", capacity = " + capacity +
|
||||
", price = " + price + " millions dollars.";
|
||||
}
|
||||
}
|
||||
|
||||
class SortByPrice implements Comparator<Airplane> {
|
||||
|
||||
public int compare(Airplane a, Airplane b) {
|
||||
return a.getPrice() - b.getPrice();
|
||||
}
|
||||
}
|
||||
|
||||
class SortByYear implements Comparator<Airplane> {
|
||||
|
||||
public int compare(Airplane a, Airplane b) {
|
||||
return a.getYear() - b.getYear();
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
import java.util.Arrays;
|
||||
|
||||
public class FourthLab {
|
||||
|
||||
public static void main(String[] args) {
|
||||
final Airplane plane1 = new Airplane("Boeing 747", "passenger", 180, 4, 1970, "Lightblue", 467, 70);
|
||||
final Airplane plane2 = new Airplane("Airbus A380", "passenger", 575, 4, 2003, "Orange", 850, 389);
|
||||
final Airplane plane3 = new Airplane("General Dynamics F-16", "military", 9, 1, 1974, "Grey", 1, 45);
|
||||
final Airplane plane4 = new Airplane("Boeing C-17 Globemaster III", "cargo", 130, 4, 1995, "Grey", 102, 340);
|
||||
final Airplane plane5 = new Airplane("An-225 Mriya", "cargo", 285, 6, 1990, "White", 20, 500);
|
||||
Airplane[] planes = {plane1, plane2, plane3, plane4, plane5};
|
||||
|
||||
System.out.println("List of planes: ");
|
||||
for(Airplane plane : planes) {
|
||||
System.out.println(plane);
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
Arrays.sort(planes, new SortByPrice());
|
||||
System.out.println("Sorted by price: ");
|
||||
for(Airplane plane : planes) {
|
||||
System.out.println(plane);
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
Arrays.sort(planes, new SortByYear().reversed());
|
||||
System.out.println("Sorted by year: ");
|
||||
for(Airplane plane : planes) {
|
||||
System.out.println(plane);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,139 +0,0 @@
|
||||
import java.util.Scanner;
|
||||
|
||||
public class FifthLab {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Scanner scn = new Scanner(System.in);
|
||||
System.out.println("Enter a string: ");
|
||||
String text = scn.nextLine();
|
||||
StringBuilder textBuilder = new StringBuilder(text);
|
||||
StringBuilder result = new StringBuilder();
|
||||
|
||||
System.out.print("Enter a string to replace the words: ");
|
||||
String replace = scn.nextLine();
|
||||
System.out.print("Enter the length of the words to replace: ");
|
||||
int length = scn.nextInt();
|
||||
|
||||
System.out.println("\nText before changes: ");
|
||||
System.out.println(textBuilder);
|
||||
|
||||
|
||||
String[] mySentence = textBuilder.toString().split("(?<=[!.?])\\s?");
|
||||
for(String s: mySentence) {
|
||||
StringBuilder sb = new StringBuilder(s);
|
||||
Sentence sentence = new Sentence(sb, length, replace);
|
||||
result.append(sentence.wordsSplit());
|
||||
}
|
||||
|
||||
System.out.println("\nText after changes: ");
|
||||
System.out.println(result);
|
||||
scn.close();
|
||||
}
|
||||
}
|
||||
|
||||
class Sentence {
|
||||
|
||||
private final StringBuilder sentence;
|
||||
private final int length;
|
||||
private final String replace;
|
||||
|
||||
public Sentence(StringBuilder sentence, int length, String replace) {
|
||||
this.sentence = sentence;
|
||||
this.length = length;
|
||||
this.replace = replace;
|
||||
}
|
||||
|
||||
public StringBuilder wordsSplit() {
|
||||
StringBuilder ReturnSentence = new StringBuilder();
|
||||
String text = sentence.toString();
|
||||
String[] words = text.split(" ");
|
||||
for(String s: words) {
|
||||
StringBuilder sb = new StringBuilder(s);
|
||||
Word word = new Word(sb, length, replace);
|
||||
ReturnSentence.append(word.lettersSplit()).append(" ");
|
||||
}
|
||||
|
||||
return ReturnSentence;
|
||||
}
|
||||
}
|
||||
|
||||
class Word {
|
||||
|
||||
private final StringBuilder word;
|
||||
private final int length;
|
||||
private final String replace;
|
||||
|
||||
public Word(StringBuilder word, int length, String replace) {
|
||||
this.word = word;
|
||||
this.length = length;
|
||||
this.replace = replace;
|
||||
}
|
||||
|
||||
public StringBuilder lettersSplit() {
|
||||
StringBuilder ReturnWord = new StringBuilder();
|
||||
String wordstr = word.toString();
|
||||
int len = wordstr.length();
|
||||
String[] letters = wordstr.split("");
|
||||
String[] ReplaceLetters = replace.split("");
|
||||
char last = wordstr.charAt(word.length() - 1);
|
||||
if(last == '!' || last == '?' || last == '.') {
|
||||
if(wordstr.charAt(word.length() - 2) == '.') {
|
||||
len = wordstr.length() - 3;
|
||||
} else {
|
||||
len = wordstr.length() - 1;
|
||||
}
|
||||
}
|
||||
if(len == length) {
|
||||
for(String chr: ReplaceLetters) {
|
||||
StringBuilder ltr = new StringBuilder(chr);
|
||||
Letter letter = new Letter(ltr);
|
||||
ReturnWord.append(letter.getLetter());
|
||||
}
|
||||
if(wordstr.length() - len == 1) {
|
||||
ReturnWord.append(wordstr.charAt(wordstr.length() - 1));
|
||||
} else if(wordstr.length() - len == 3) {
|
||||
ReturnWord.append("...");
|
||||
}
|
||||
} else {
|
||||
for(String chr: letters) {
|
||||
StringBuilder ltr = new StringBuilder(chr);
|
||||
if(chr.equals("!") || chr.equals("?") || chr.equals(".") || chr.equals(",") || chr.equals(":") || chr.equals(";")) {
|
||||
Punctuation punctuation = new Punctuation(ltr);
|
||||
ReturnWord.append(punctuation.getPunctuation());
|
||||
} else {
|
||||
Letter letter = new Letter(ltr);
|
||||
ReturnWord.append(letter.getLetter());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ReturnWord;
|
||||
}
|
||||
}
|
||||
|
||||
class Letter {
|
||||
|
||||
private final StringBuilder letter;
|
||||
|
||||
public Letter(StringBuilder letter) {
|
||||
this.letter = letter;
|
||||
}
|
||||
|
||||
public StringBuilder getLetter() {
|
||||
return letter;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Punctuation {
|
||||
|
||||
private final StringBuilder punctuation;
|
||||
|
||||
public Punctuation(StringBuilder punctuation) {
|
||||
this.punctuation = punctuation;
|
||||
}
|
||||
|
||||
public StringBuilder getPunctuation() {
|
||||
return punctuation;
|
||||
}
|
||||
}
|
||||
@@ -1,138 +0,0 @@
|
||||
import java.util.Scanner;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
|
||||
public class SixthLab {
|
||||
|
||||
public static int sumOfPassangers(Train[] trains) {
|
||||
int sum = 0;
|
||||
for (Train train: trains) {
|
||||
sum += train.getCapacity();
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
public static float sumOfLuggage(Train[] trains) {
|
||||
float sum = 0.0f;
|
||||
for (Train train: trains) {
|
||||
sum += train.getLuggage();
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Scanner scn = new Scanner(System.in);
|
||||
Intercity intercity = new Intercity(2, "intercity", 57, 2.0f);
|
||||
SV sv = new SV(3, "sv", 20, 1.3f);
|
||||
Compartment compartment = new Compartment(2, "compartment", 40, 2.5f);
|
||||
Plackart plackart = new Plackart(1, "plackart", 52, 1.8f);
|
||||
Train[] trainCars = {intercity, sv, compartment, plackart};
|
||||
|
||||
System.out.println("List of train cars: ");
|
||||
for (Train car: trainCars) {
|
||||
System.out.println(car);
|
||||
}
|
||||
|
||||
Arrays.sort(trainCars, new sortByComfort());
|
||||
System.out.println("\nSorted list by comfort level: ");
|
||||
for (Train car: trainCars) {
|
||||
System.out.println(car);
|
||||
}
|
||||
|
||||
System.out.printf("\n\nThe total number of passengers on the train - %d.\n", sumOfPassangers(trainCars));
|
||||
System.out.printf("The total amount of train baggage - %.1f tons.", sumOfLuggage(trainCars));
|
||||
|
||||
System.out.println("\n\nFinding the train car by number of passengers");
|
||||
System.out.print("Enter the lower number: ");
|
||||
int lower = scn.nextInt();
|
||||
System.out.print("Enter the extreme number: ");
|
||||
int extreme = scn.nextInt();
|
||||
boolean flag = false;
|
||||
for (Train car: trainCars) {
|
||||
int amount = car.getCapacity();
|
||||
if(amount >= lower && amount <= extreme) {
|
||||
System.out.println(car);
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
if (!flag) {
|
||||
System.out.println("There is no such train car");
|
||||
}
|
||||
scn.close();
|
||||
}
|
||||
}
|
||||
|
||||
class Train {
|
||||
private int comfortLevel;
|
||||
private String type;
|
||||
private int capacity;
|
||||
private float luggage;
|
||||
|
||||
public Train(int comfortLevel, String type, int capacity, float luggage) {
|
||||
this.comfortLevel = comfortLevel;
|
||||
this.type = type;
|
||||
this.capacity = capacity;
|
||||
this.luggage = luggage;
|
||||
}
|
||||
|
||||
public int getComfortLevel() {
|
||||
return comfortLevel;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public int getCapacity() {
|
||||
return capacity;
|
||||
}
|
||||
|
||||
public float getLuggage() {
|
||||
return luggage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Train : " +
|
||||
" Type: " + type +
|
||||
". Comfort level: " + comfortLevel +
|
||||
". Capacity: " + capacity +
|
||||
". Luggage: " + luggage + " tons.";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Intercity extends Train {
|
||||
|
||||
public Intercity(int comfortLevel, String type, int capacity, float luggage) {
|
||||
super(comfortLevel, type, capacity, luggage);
|
||||
}
|
||||
}
|
||||
|
||||
class SV extends Train {
|
||||
|
||||
public SV(int comfortLevel, String type, int capacity, float luggage) {
|
||||
super(comfortLevel, type, capacity, luggage);
|
||||
}
|
||||
}
|
||||
|
||||
class Compartment extends Train {
|
||||
|
||||
public Compartment(int comfortLevel, String type, int capacity, float luggage) {
|
||||
super(comfortLevel, type, capacity, luggage);
|
||||
}
|
||||
}
|
||||
|
||||
class Plackart extends Train {
|
||||
|
||||
public Plackart(int comfortLevel, String type, int capacity, float luggage) {
|
||||
super(comfortLevel, type, capacity, luggage);
|
||||
}
|
||||
}
|
||||
|
||||
class sortByComfort implements Comparator<Train> {
|
||||
|
||||
public int compare(Train a, Train b){
|
||||
return a.getComfortLevel() - b.getComfortLevel();
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
Student student = new Student();
|
||||
|
||||
|
||||
|
||||
|
||||
//...
|
||||
|
||||
student.setFaculty("FPM", "MO-22");
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user