mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-01 21:21:50 +03:00
Compare commits
40 Commits
ІО-21/31-Ц
...
ІО-24/25-С
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c89c9da01 | ||
|
|
a34d7aa388 | ||
|
|
55bfc1cca6 | ||
|
|
48dad5cd9e | ||
|
|
f1131c280f | ||
|
|
20be64e175 | ||
|
|
1583e33ab3 | ||
|
|
277f8f82f6 | ||
|
|
eb2ffae473 | ||
|
|
f05125e298 | ||
|
|
ce73ebf1f5 | ||
|
|
31c3b96018 | ||
| 4eecffe040 | |||
|
|
f7b11d9444 | ||
|
|
bfdfd65153 | ||
| ae042010a6 | |||
|
|
9b871b6a42 | ||
|
|
e41e64369b | ||
|
|
484bef389b | ||
| 455c991edb | |||
| 90d0f042a1 | |||
|
|
1690d0f9e4 | ||
|
|
4531049ff2 | ||
|
|
07b17ca3cc | ||
|
|
a61c59bf48 | ||
|
|
9ece98fece | ||
|
|
81ac59840f | ||
|
|
1e6825d7d4 | ||
|
|
4087daef02 | ||
|
|
31ba116ad8 | ||
|
|
6fc3cc244e | ||
|
|
3bbb7c8e54 | ||
|
|
1af299f8f7 | ||
|
|
4924bbe62f | ||
|
|
29e63163a4 | ||
|
|
399941844f | ||
|
|
f385bff73d | ||
|
|
6d8171ad4c | ||
|
|
788fa03eda | ||
|
|
b25ceea45d |
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="openjdk-20" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
11
lab2.iml
Normal file
11
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>
|
||||
231
src/Lab5.java
Normal file
231
src/Lab5.java
Normal file
@@ -0,0 +1,231 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
class Letter {
|
||||
private char character;
|
||||
|
||||
public Letter(char character) {
|
||||
this.character = character;
|
||||
}
|
||||
|
||||
public char getCharacter() {
|
||||
return character;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.valueOf(character);
|
||||
}
|
||||
}
|
||||
|
||||
class Word {
|
||||
private List<Letter> letters;
|
||||
|
||||
public Word(List<Letter> letters) {
|
||||
this.letters = letters;
|
||||
}
|
||||
|
||||
public List<Letter> getLetters() {
|
||||
return letters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder wordBuilder = new StringBuilder();
|
||||
for (Letter letter : letters) {
|
||||
wordBuilder.append(letter.getCharacter());
|
||||
}
|
||||
return wordBuilder.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class Sentence {
|
||||
private List<Object> components;
|
||||
|
||||
public Sentence(List<Object> components) {
|
||||
this.components = components;
|
||||
}
|
||||
|
||||
public List<Object> getComponents() {
|
||||
return components;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sentenceBuilder = new StringBuilder();
|
||||
for (Object component : components) {
|
||||
if (component instanceof Word) {
|
||||
List<Letter> letters = ((Word) component).getLetters();
|
||||
for (Letter letter : letters) {
|
||||
sentenceBuilder.append(letter.getCharacter());
|
||||
}
|
||||
} else if (component instanceof PunctuationMark) {
|
||||
sentenceBuilder.append(((PunctuationMark) component).getMark());
|
||||
}
|
||||
sentenceBuilder.append(" ");
|
||||
}
|
||||
return sentenceBuilder.toString().trim();
|
||||
}
|
||||
}
|
||||
|
||||
class PunctuationMark {
|
||||
private char mark;
|
||||
|
||||
public PunctuationMark(char mark) {
|
||||
this.mark = mark;
|
||||
}
|
||||
|
||||
public char getMark() {
|
||||
return mark;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.valueOf(mark);
|
||||
}
|
||||
}
|
||||
|
||||
class Text {
|
||||
private List<Sentence> sentences;
|
||||
|
||||
public Text(List<Sentence> sentences) {
|
||||
this.sentences = sentences;
|
||||
}
|
||||
|
||||
public List<Sentence> getSentences() {
|
||||
return sentences;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder textBuilder = new StringBuilder();
|
||||
for (Sentence sentence : sentences) {
|
||||
textBuilder.append(sentence.toString()).append(". ");
|
||||
}
|
||||
return textBuilder.toString().trim();
|
||||
}
|
||||
}
|
||||
|
||||
public class Lab5 {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("C17 = " + 2425%17);
|
||||
StringBuffer sentence = new StringBuffer("об'єктно-орієнтована мова програмування , випущена 1995 року компанією" +
|
||||
" Сан Майкросістемс , як основний компонент платформи Джава." +
|
||||
" З 2009 року мовою займається компанія Оракл , яка того року придбала Сан Майкросістемс. В офіційній" +
|
||||
" реалізації Джава-програми компілюються у байт-код , який при виконанні інтерпретується віртуальною" +
|
||||
" машиною для конкретної платформи");
|
||||
|
||||
// Заміна послідовності табуляцій та пробілів одним пробілом
|
||||
String cleanedText = replaceTabsAndSpaces(sentence.toString());
|
||||
|
||||
// Розбиття тексту на речення
|
||||
String[] sentenceArray = cleanedText.split("\\.");
|
||||
|
||||
List<Sentence> sentences = new ArrayList<>();
|
||||
List<Character> punctuationMarks = new ArrayList<>();
|
||||
|
||||
for (String s : sentenceArray) {
|
||||
// Розбиття речення на слова та розділові знаки
|
||||
String[] components = s.trim().split("\\s+");
|
||||
|
||||
List<Object> sentenceComponents = new ArrayList<>();
|
||||
|
||||
for (String component : components) {
|
||||
if (isPunctuationMark(component)) {
|
||||
// Додавання розділових знаків
|
||||
char mark = component.charAt(component.length() - 1);
|
||||
punctuationMarks.add(mark);
|
||||
sentenceComponents.add(new PunctuationMark(mark));
|
||||
} else {
|
||||
// Створення слова
|
||||
List<Letter> letters = new ArrayList<>();
|
||||
for (char c : component.toCharArray()) {
|
||||
letters.add(new Letter(c));
|
||||
}
|
||||
sentenceComponents.add(new Word(letters));
|
||||
}
|
||||
}
|
||||
|
||||
sentences.add(new Sentence(sentenceComponents));
|
||||
}
|
||||
|
||||
// Створення тексту
|
||||
Text text = new Text(sentences);
|
||||
|
||||
// Виведення букв, слів та речень
|
||||
List<Sentence> allSentences = text.getSentences();
|
||||
for (Sentence s : allSentences) {
|
||||
List<Object> components = s.getComponents();
|
||||
|
||||
for (Object component : components) {
|
||||
if (component instanceof Word) {
|
||||
System.out.println("Слово: " + component);
|
||||
List<Letter> letters = ((Word) component).getLetters();
|
||||
for (Letter letter : letters) {
|
||||
System.out.println("Літера: " + letter.getCharacter());
|
||||
}
|
||||
} else if (component instanceof PunctuationMark) {
|
||||
System.out.println("Розділовий знак: " + ((PunctuationMark) component).getMark());
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("Речення: " + s.toString());
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
// Виведення розділових знаків
|
||||
System.out.println("Розділові знаки:");
|
||||
for (Character mark : punctuationMarks) {
|
||||
System.out.println(mark);
|
||||
}
|
||||
|
||||
// Виведення масиву речень з пробілами
|
||||
System.out.println("Масив речень:");
|
||||
for (Sentence s : allSentences) {
|
||||
System.out.println(s.toString());
|
||||
}
|
||||
|
||||
// Видалення слів заданої довжини, починаючи з приголосної літери
|
||||
removeWords(allSentences);
|
||||
|
||||
// Виведення оновленого тексту
|
||||
System.out.println("Оновлений текст:");
|
||||
System.out.println(text.toString());
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Функція для заміни табуляцій та пробілів одним пробілом
|
||||
private static String replaceTabsAndSpaces(String text) {
|
||||
return text.replaceAll("\\s+", " ");
|
||||
}
|
||||
|
||||
// Функція для перевірки, чи є рядок розділовим знаком
|
||||
private static boolean isPunctuationMark(String text) {
|
||||
return text.matches(".*[,.]$");
|
||||
}
|
||||
|
||||
// Функція для видалення слів заданої довжини, починаючи з приголосної літери
|
||||
private static void removeWords(List<Sentence> sentences) {
|
||||
String consonants = "бвгґджзклмнпрстфхцчшщ";
|
||||
for (Sentence sentence : sentences) {
|
||||
List<Object> components = sentence.getComponents();
|
||||
List<Object> componentsToRemove = new ArrayList<>();
|
||||
|
||||
for (Object component : components) {
|
||||
if (component instanceof Word) {
|
||||
Word word = (Word) component;
|
||||
List<Letter> letters = word.getLetters();
|
||||
int wordLength = letters.size();
|
||||
char firstLetter = letters.get(0).getCharacter();
|
||||
|
||||
if ((wordLength > 5) && (wordLength < 9) && consonants.contains(String.valueOf(firstLetter))) {
|
||||
componentsToRemove.add(component);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
components.removeAll(componentsToRemove);
|
||||
}
|
||||
}
|
||||
}
|
||||
117
src/Lab6.java
Normal file
117
src/Lab6.java
Normal file
@@ -0,0 +1,117 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Scanner;
|
||||
|
||||
class Train {
|
||||
private List<PassengerCarriage> carriages;
|
||||
|
||||
public Train(List<PassengerCarriage> carriages) {
|
||||
this.carriages = carriages;
|
||||
}
|
||||
|
||||
public int getTotalPassengerCount() {
|
||||
int totalPassengerCount = 0;
|
||||
for (PassengerCarriage carriage : carriages) {
|
||||
totalPassengerCount += carriage.getPassengerCount();
|
||||
}
|
||||
return totalPassengerCount;
|
||||
}
|
||||
|
||||
public int getTotalLuggageCount() {
|
||||
int totalLuggageCount = 0;
|
||||
for (PassengerCarriage carriage : carriages) {
|
||||
totalLuggageCount += carriage.getLuggageCount();
|
||||
}
|
||||
return totalLuggageCount;
|
||||
}
|
||||
|
||||
public void sortCarriagesByComfortLevel() {
|
||||
Collections.sort(carriages, new Comparator<PassengerCarriage>() {
|
||||
@Override
|
||||
public int compare(PassengerCarriage c1, PassengerCarriage c2) {
|
||||
return c1.getComfortLevel() - c2.getComfortLevel();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public PassengerCarriage findCarriageByPassengerCount(int minPassengers, int maxPassengers) {
|
||||
for (PassengerCarriage carriage : carriages) {
|
||||
int passengerCount = carriage.getPassengerCount();
|
||||
if (passengerCount >= minPassengers && passengerCount <= maxPassengers) {
|
||||
return carriage;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
class PassengerCarriage {
|
||||
private int passengerCount;
|
||||
private int luggageCount;
|
||||
private int comfortLevel;
|
||||
|
||||
public PassengerCarriage(int passengerCount, int luggageCount, int comfortLevel) {
|
||||
this.passengerCount = passengerCount;
|
||||
this.luggageCount = luggageCount;
|
||||
this.comfortLevel = comfortLevel;
|
||||
}
|
||||
|
||||
public int getPassengerCount() {
|
||||
return passengerCount;
|
||||
}
|
||||
|
||||
public int getLuggageCount() {
|
||||
return luggageCount;
|
||||
}
|
||||
|
||||
public int getComfortLevel() {
|
||||
return comfortLevel;
|
||||
}
|
||||
}
|
||||
|
||||
public class Lab6 {
|
||||
public static void main(String[] args) {
|
||||
// Задаємо характеристики вагонів
|
||||
List<PassengerCarriage> carriages = new ArrayList<>();
|
||||
carriages.add(new PassengerCarriage(30, 64, 3));
|
||||
carriages.add(new PassengerCarriage(53, 126, 2));
|
||||
carriages.add(new PassengerCarriage(89, 164, 1));
|
||||
|
||||
Train train = new Train(carriages);
|
||||
|
||||
int totalPassengerCount = train.getTotalPassengerCount();
|
||||
int totalLuggageCount = train.getTotalLuggageCount();
|
||||
|
||||
System.out.println("Кількість всіх пасажирів: " + totalPassengerCount);
|
||||
System.out.println("Кількість всього багажу: " + totalLuggageCount);
|
||||
|
||||
train.sortCarriagesByComfortLevel();
|
||||
|
||||
System.out.println("Вагони відсортовані за рівнем комфорту:");
|
||||
for (PassengerCarriage carriage : carriages) {
|
||||
System.out.println("Кількість пасажирів: " + carriage.getPassengerCount() +
|
||||
", Рівень комфорту: " + carriage.getComfortLevel());
|
||||
}
|
||||
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
System.out.print("Введіть мінімальну кількість пасажирів: ");
|
||||
int minPassengers = scanner.nextInt();
|
||||
System.out.print("Введіть максимальну кількість пасажирів: ");
|
||||
int maxPassengers = scanner.nextInt();
|
||||
|
||||
PassengerCarriage carriage = train.findCarriageByPassengerCount(minPassengers, maxPassengers);
|
||||
|
||||
if (carriage != null) {
|
||||
System.out.println("Вагон знайдений за кількість пасажирів між " +
|
||||
minPassengers + " та " + maxPassengers);
|
||||
System.out.println("Кількість пасажирів: " + carriage.getPassengerCount() +
|
||||
", Рівень комфорту: " + carriage.getComfortLevel());
|
||||
} else {
|
||||
System.out.println("Вагон не знайдений за кількістю пасажирів " +
|
||||
minPassengers + " між " + maxPassengers);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +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);
|
||||
|
||||
int a = 1;
|
||||
int b = 2;
|
||||
int c = 1;
|
||||
int d = 1;
|
||||
|
||||
System.out.println(2&1);
|
||||
System.out.println(2|1);
|
||||
int aa = 2;
|
||||
|
||||
/*if (aa) {
|
||||
|
||||
}*/
|
||||
|
||||
// System.out.println("a"&"b");
|
||||
System.out.println('a'&'b');
|
||||
|
||||
if ((a > b) & MyBooleanMethod()) {
|
||||
System.out.println("?????????????????????????");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
static boolean MyBooleanMethod() {
|
||||
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
return true;
|
||||
}
|
||||
|
||||
void myFunction() {
|
||||
|
||||
}
|
||||
|
||||
int myFunction2() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -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,9 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class ElectricEngine extends Engine {
|
||||
private String batteryType;
|
||||
|
||||
/*private class Engine {
|
||||
private int power;
|
||||
}*/
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class Engine {
|
||||
private int power;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class FuelEngine extends Engine {
|
||||
private String fuelType;
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
|
||||
FuelEngine fuelEngine = new FuelEngine();
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism;
|
||||
|
||||
public class ElectricEngine extends Engine {
|
||||
private String batteryType;
|
||||
|
||||
@Override
|
||||
public int getPower() {
|
||||
return 20;
|
||||
}
|
||||
|
||||
/*private class Engine {
|
||||
private int power;
|
||||
}*/
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism;
|
||||
|
||||
public class Engine {
|
||||
private int power;
|
||||
|
||||
public int getPower() {
|
||||
return power;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism;
|
||||
|
||||
public class FuelEngine extends Engine {
|
||||
private String fuelType;
|
||||
|
||||
@Override
|
||||
public int getPower() {
|
||||
return 50;
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism;
|
||||
|
||||
/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine;
|
||||
import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
/*encapsulationInheritancePolymorphism.inheritance.*/ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
|
||||
/*encapsulationInheritancePolymorphism.inheritance.*/FuelEngine fuelEngine = new FuelEngine();
|
||||
|
||||
Engine engine1 = fuelEngine;
|
||||
|
||||
Engine[] engines = {
|
||||
electricEngine,
|
||||
fuelEngine
|
||||
};
|
||||
|
||||
for (Engine engine : engines) {
|
||||
System.out.println(engine.getPower());
|
||||
}
|
||||
|
||||
/*for (int i = 0; i < engines.length; i++) {
|
||||
System.out.println(engines[i].getPower());
|
||||
}*/
|
||||
|
||||
// +
|
||||
int a = 1;
|
||||
int b = 1;
|
||||
int c = a + b;
|
||||
System.out.println(c);
|
||||
|
||||
|
||||
String sA = "1";
|
||||
String sB = "1";
|
||||
String sC = sA + sB;
|
||||
System.out.println(sC);
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||
|
||||
public class ElectricEngine extends Engine {
|
||||
private String batteryType;
|
||||
private int chargeLevel = 9;
|
||||
private int criticalChargeLevel = 10;
|
||||
private float coefficientCriticalPowerCut = 0.1f;
|
||||
|
||||
@Override
|
||||
public int getPower() {
|
||||
return chargeLevel > criticalChargeLevel
|
||||
? super.getPower()
|
||||
: (int) (super.getPower() * coefficientCriticalPowerCut);
|
||||
}
|
||||
|
||||
/*private class Engine {
|
||||
private int power;
|
||||
}*/
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||
|
||||
public class Engine {
|
||||
private int power = 100;
|
||||
|
||||
public int getPower() {
|
||||
return power;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||
|
||||
public class FuelEngine extends Engine {
|
||||
private String fuelType;
|
||||
|
||||
/*public int getPower() {
|
||||
return 50;
|
||||
}*/
|
||||
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||
|
||||
/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine;
|
||||
import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
/*encapsulationInheritancePolymorphism.inheritance.*/
|
||||
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
|
||||
/*encapsulationInheritancePolymorphism.inheritance.*/
|
||||
FuelEngine fuelEngine = new FuelEngine();
|
||||
|
||||
Engine engine1 = fuelEngine;
|
||||
|
||||
Engine[] engines = {
|
||||
electricEngine,
|
||||
fuelEngine
|
||||
};
|
||||
|
||||
for (Engine engine : engines) {
|
||||
System.out.println(engine.getPower());
|
||||
}
|
||||
|
||||
/*for (int i = 0; i < engines.length; i++) {
|
||||
System.out.println(engines[i].getPower());
|
||||
}*/
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.overload;
|
||||
|
||||
public class MyClassForOverloadExample {
|
||||
void myMethod(int a) {
|
||||
System.out.println("Integer: " + a);
|
||||
}
|
||||
|
||||
void myMethod(double a) {
|
||||
System.out.println("Double: " + a);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
MyClassForOverloadExample overload = new MyClassForOverloadExample();
|
||||
overload.myMethod(1);
|
||||
overload.myMethod(0.1);
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
import java.util.Scanner;
|
||||
public class lab1 {
|
||||
public static void main(String[] args){
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
// 2131 % 7 = 3; C7 = long
|
||||
long n, m, a, b;
|
||||
float result, sum;
|
||||
while(true) {
|
||||
try {
|
||||
System.out.println("Введіть n типу long:");
|
||||
n = scanner.nextLong();
|
||||
System.out.println("Введіть m типу long:");
|
||||
m = scanner.nextLong();
|
||||
System.out.println("Введіть a типу long:");
|
||||
a = scanner.nextLong();
|
||||
System.out.println("Введіть b типу long:");
|
||||
b = scanner.nextLong();
|
||||
break;
|
||||
}catch(Exception e){
|
||||
scanner.nextLine();
|
||||
System.out.println("Введене неправильне число");
|
||||
}
|
||||
}
|
||||
|
||||
// 2131 % 5 = 1; O2 = /
|
||||
// 2131 % 2 = 1; O1 = -
|
||||
// 2131 % 3 = 1; C = 1
|
||||
result = 0;
|
||||
byte C = 1;
|
||||
for(long i = a; i <= n; i++){
|
||||
sum = 0;
|
||||
for(long j = b; j <= m; j++){
|
||||
if (i - C == 0 || j == 0){
|
||||
System.out.println("Помилка ділення на 0");
|
||||
System.exit(0);
|
||||
}
|
||||
sum += (float) (i/j)/(i-C);
|
||||
}
|
||||
result += sum;
|
||||
}
|
||||
System.out.println(result);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
public class lab2 {
|
||||
public static void main(String[] args){
|
||||
|
||||
// 2131 % 7 = 3; C7 = int
|
||||
|
||||
int[][] matrix = {
|
||||
{1,2,3,4,5},
|
||||
{1,3,5,7,9},
|
||||
{10,1,20,2,5}
|
||||
};
|
||||
|
||||
int rows = matrix.length;
|
||||
int column = matrix[0].length;
|
||||
System.out.println("Матриця:");
|
||||
for(int i = 0; i < rows; i++){
|
||||
for (int j = 0; j < column; j++){
|
||||
System.out.print(matrix[i][j]+" ");
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
System.out.println();
|
||||
// 2131 % 5 = 1; C5 = транспортування;
|
||||
|
||||
int[][] transportMatrix = new int[column][rows];
|
||||
|
||||
|
||||
for(int i = 0; i < rows; i++){
|
||||
for(int j = 0; j < column; j++){
|
||||
transportMatrix[j][i] = matrix[i][j];
|
||||
}
|
||||
}
|
||||
System.out.println("Транспонована матриця:");
|
||||
for (int i = 0; i < column; i++){
|
||||
for (int j = 0; j < rows; j++){
|
||||
System.out.print(transportMatrix[i][j]+" ");
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
// 2131 % 11 = 8; C11 = Знайти середнє значення елементів кожного рядка матриці;
|
||||
int sum;
|
||||
for(int i = 0; i < rows; i++){
|
||||
sum = 0;
|
||||
for(int j = 0; j < column; j++){
|
||||
sum += matrix[i][j];
|
||||
}
|
||||
System.out.println("Середнє арифметичне " + (i+1) + " строки = " + (float)sum/column);
|
||||
}
|
||||
}
|
||||
}
|
||||
23
src/lab3.js
23
src/lab3.js
@@ -1,23 +0,0 @@
|
||||
//C17 = 2131 % 17 = 6; Відсортувати слова заданого тексту за зростанням кількості голосних літер.
|
||||
|
||||
import create from 'prompt-sync';
|
||||
const prompt = create();
|
||||
|
||||
class Sentence {
|
||||
constructor() {
|
||||
this.sentence = prompt("Input sentence: ");
|
||||
}
|
||||
sort() {
|
||||
const words = this.sentence.split(/[\s.?!,;]/).filter((word) => word);
|
||||
const vowels = /[AaEeiOoUuYy]/g
|
||||
const sortedWords = words.sort((first, second) => {
|
||||
const vowelsOfFirstWord = first.match(vowels)? first.match(vowels): [];
|
||||
const vowelsOfSecondWord = second.match(vowels)? second.match(vowels): [];
|
||||
return vowelsOfFirstWord.length-vowelsOfSecondWord.length;
|
||||
});
|
||||
return sortedWords.join(' ');
|
||||
}
|
||||
}
|
||||
|
||||
const sentence = new Sentence;
|
||||
console.log(sentence.sort())
|
||||
46
src/lab4.js
46
src/lab4.js
@@ -1,46 +0,0 @@
|
||||
//C11 = 2131%11 = 8; Визначити клас меблі, який складається як мінімум з 5-и полів.
|
||||
|
||||
//Створимо клас меблів
|
||||
class Furniture{
|
||||
constructor({model, width, height, length, price}) { //об'єкт класа буде створений на основі об'єкта для зручості, тому використовуємо деструктороване присвоєння, щоб не брати зайве.
|
||||
this.model = model;
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.length = length;
|
||||
this.price = price;
|
||||
}
|
||||
}
|
||||
|
||||
//Створимо об'єкти майбутніх об'єктів класу меблі
|
||||
|
||||
const chair = {
|
||||
model: 'chair',
|
||||
width: 1,
|
||||
length: 1,
|
||||
height: 1,
|
||||
price: 500,
|
||||
};
|
||||
|
||||
const table = {
|
||||
model: 'table',
|
||||
width: 3,
|
||||
length: 2,
|
||||
height: 1.5,
|
||||
price: 1000,
|
||||
};
|
||||
|
||||
const wardrobe = {
|
||||
model: 'wardrobe',
|
||||
width: 5,
|
||||
length: 1,
|
||||
height: 3,
|
||||
price: 750,
|
||||
};
|
||||
|
||||
//Створимо масив що складається з об'єктів класу
|
||||
const furniture = [new Furniture(wardrobe), new Furniture(chair), new Furniture(table)];
|
||||
|
||||
//Відсрортуємо масив за алфавітним порядком;
|
||||
console.log(furniture.sort((first, second) => first.model > second.model ? 1 : first.model < second.model ? -1 : 0));
|
||||
//Відсортуємл масив за ціною за спаданням
|
||||
console.log(furniture.sort((first, second) => second.price - first.price));
|
||||
103
src/lab5.js
103
src/lab5.js
@@ -1,103 +0,0 @@
|
||||
class Text {
|
||||
constructor(text) {
|
||||
this.text = [];
|
||||
const sentences = text.split(/[.?!;]/).filter((sentence) => sentence);
|
||||
for (const sentence of sentences) {
|
||||
this.text.push(new Sentence(sentence))
|
||||
}
|
||||
}
|
||||
|
||||
getText() {
|
||||
let text = '';
|
||||
for (const sentence of this.text) {
|
||||
text += sentence.getSentence() + '. ';
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
getSortedText() {
|
||||
let words = [];
|
||||
const vowels = /[AaEeiOoUuYy]/g;
|
||||
|
||||
for (const sentence of this.text) {
|
||||
words = words.concat(sentence.getWords());
|
||||
}
|
||||
const sortedWords = words.sort((first, second) => {
|
||||
const vowelsOfFirstWord = first.match(vowels)? first.match(vowels): [];
|
||||
const vowelsOfSecondWord = second.match(vowels)? second.match(vowels): [];
|
||||
return vowelsOfFirstWord.length-vowelsOfSecondWord.length;
|
||||
});
|
||||
return sortedWords.join(' ');
|
||||
}
|
||||
}
|
||||
|
||||
class Sentence {
|
||||
constructor(sentence) {
|
||||
this.sentence = [];
|
||||
const words = sentence.split(/[\s,:]/).filter((word) => word);
|
||||
for (const word of words) {
|
||||
this.sentence.push(new Word(word));
|
||||
}
|
||||
}
|
||||
|
||||
getSentence() {
|
||||
let sentence = '';
|
||||
for (const word of this.sentence) {
|
||||
sentence += word.getWord();
|
||||
if ( this.sentence[this.sentence.length-1] !== word) sentence += ' ';
|
||||
}
|
||||
return sentence;
|
||||
}
|
||||
|
||||
getWords() {
|
||||
let words = [];
|
||||
for (const word of this.sentence) {
|
||||
words.push(word.getWord());
|
||||
}
|
||||
return words;
|
||||
}
|
||||
}
|
||||
|
||||
class Word {
|
||||
constructor(word) {
|
||||
this.word = [];
|
||||
for (const symbol of word) {
|
||||
if (/[A-Za-z]/.test(symbol)){
|
||||
this.word.push(new Letter(symbol));
|
||||
} else if (/[0-9]/.test(symbol)) {
|
||||
this.word.push(new Number(symbol));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getWord() {
|
||||
let word = '';
|
||||
for (const symbol of this.word) {
|
||||
word += symbol.getSymbol();
|
||||
}
|
||||
return word
|
||||
}
|
||||
}
|
||||
|
||||
class Letter {
|
||||
constructor(letter) {
|
||||
this.letter = letter;
|
||||
}
|
||||
|
||||
getSymbol() {
|
||||
return this.letter;
|
||||
}
|
||||
}
|
||||
|
||||
class Number {
|
||||
constructor(number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
getSymbol() {
|
||||
return this.number;
|
||||
}
|
||||
}
|
||||
const text = new Text('In late September or October, Martina elevated Constans to co-emperor, but also raised Heraclonas\'s brother Tiberius to co-emperor alongside them. Despite these overtures, Valentinus entered Constantinople shortly thereafter, deposed Heraclonas and Martina, and then elevated Constans to sole emperor. Heraclonas, Martina, Tiberius, and Martinus are said by John of Nikiu to have been escorted forth with insolence. Valentinus had Martinus nose cut off, emasculated him, and then banished his family to Rhodes, where they stayed until their deaths. According to some sources, the stress of the surgery killed Martinus immediately.');
|
||||
console.log(text.getText());
|
||||
console.log('\n' + text.getSortedText());
|
||||
71
src/lab6.js
71
src/lab6.js
@@ -1,71 +0,0 @@
|
||||
console.log(2131 % 13)
|
||||
|
||||
class Room {
|
||||
constructor(price, ...toys) {
|
||||
this.toys = toys;
|
||||
this.price = price;
|
||||
if (this.getCurrentPrice() > price) throw new SyntaxError('We haven`t money for this');
|
||||
}
|
||||
|
||||
addToy(toy) {
|
||||
if (this.getCurrentPrice() + toy.getPrice() <= this.price) this.toys.push(toy);
|
||||
else throw new SyntaxError('We haven`t money for this');
|
||||
}
|
||||
|
||||
getCurrentPrice() {
|
||||
let sum = 0;
|
||||
for (const toy of this.toys) {
|
||||
sum += toy.getPrice();
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
getSortedToysByPrice() {
|
||||
const sortedToys = this.toys.copyWithin();
|
||||
return sortedToys.sort((firstToy, secondToy) => {
|
||||
return firstToy.getPrice() - secondToy.getPrice();
|
||||
});
|
||||
}
|
||||
|
||||
getToyByPrice(lowerPrice, upperPrice) {
|
||||
return this.toys.find((toy) => lowerPrice <= toy.getPrice() && toy.getPrice() <= upperPrice);
|
||||
}
|
||||
}
|
||||
class Toy {
|
||||
|
||||
constructor(type, price, group) {
|
||||
this.type = type;
|
||||
this.price = price;
|
||||
this.group = group;
|
||||
}
|
||||
|
||||
getPrice() {
|
||||
return this.price;
|
||||
}
|
||||
}
|
||||
|
||||
class Car extends Toy {
|
||||
constructor(price, group) {
|
||||
super('car', price, group);
|
||||
}
|
||||
}
|
||||
|
||||
class Ball extends Toy {
|
||||
constructor(price, group) {
|
||||
super('ball', price, group);
|
||||
}
|
||||
}
|
||||
|
||||
class Doll extends Toy {
|
||||
constructor(price, group) {
|
||||
super('doll', price, group);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const doll = new Doll(200, 'middle');
|
||||
const ball = new Ball(150, 'young');
|
||||
const car = new Car(300, 'old');
|
||||
const room = new Room(1000, doll, ball, car);
|
||||
console.log(room.getSortedToysByPrice())
|
||||
console.log(room.getToyByPrice(201, 301));
|
||||
@@ -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