Compare commits

..

52 Commits

Author SHA1 Message Date
lesflq 1c89c9da01 Merge branch 'ІО-24/25-Севастьянов-Максим-Євгенович' of github.com:ASDjonok/OOP_IO-2x_2023 into ІО-24/25-Севастьянов-Максим-Євгенович 2023-06-03 18:54:52 +03:00
lesflq a34d7aa388 Added 6 lab 2023-06-03 18:43:05 +03:00
lesflq 55bfc1cca6 Delete test.txt 2023-05-31 20:24:24 +03:00
lesflq 48dad5cd9e Merge branch 'ІО-24/25-Севастьянов-Максим-Євгенович' of github.com:ASDjonok/OOP_IO-2x_2023 into ІО-24/25-Севастьянов-Максим-Євгенович 2023-05-31 20:22:50 +03:00
lesflq f1131c280f Delete lab1 directory 2023-05-31 20:20:04 +03:00
lesflq 20be64e175 Added 5 lab 2023-05-31 20:18:40 +03:00
Oleksii Aleshchenko 1583e33ab3 update lab4 2023-05-25 16:04:54 +03:00
Oleksii Aleshchenko 277f8f82f6 update lab4 2023-05-25 15:06:01 +03:00
Oleksii Aleshchenko eb2ffae473 update lab4 2023-05-18 16:03:31 +03:00
Oleksii Aleshchenko f05125e298 Merge pull request #3 from Dymik739/commit-fix
Lab2: remove duplicate string to fix calculations
2023-05-11 16:12:29 +03:00
Oleksii Aleshchenko ce73ebf1f5 update lab4 2023-05-11 16:10:42 +03:00
Oleksii Aleshchenko 31c3b96018 update Variant0.java 2023-05-11 15:46:43 +03:00
dymik739 4eecffe040 Merge branch 'master' into commit-fix 2023-05-04 18:06:15 +03:00
Oleksii Aleshchenko f7b11d9444 add Variant0.java for lab3 2023-05-04 15:59:21 +03:00
Oleksii Aleshchenko bfdfd65153 add text for regex search 2023-05-04 15:29:07 +03:00
dymik739 ae042010a6 remove duplicate string to fix calculations 2023-05-02 18:48:21 +03:00
Oleksii Aleshchenko 9b871b6a42 Merge remote-tracking branch 'origin/master' 2023-04-27 16:08:25 +03:00
Oleksii Aleshchenko e41e64369b add test polymorphism example 2023-04-27 16:08:09 +03:00
Oleksii Aleshchenko 484bef389b upd lab3 2023-04-27 15:57:01 +03:00
Suzik123 455c991edb Випадково закомітив не туди) Все повернув 2023-04-17 21:00:20 +03:00
Suzik123 90d0f042a1 test 2023-04-17 20:59:13 +03:00
Oleksii Aleshchenko 1690d0f9e4 upd lab3 // add todo for lab4 2023-04-13 16:07:52 +03:00
Oleksii Aleshchenko 4531049ff2 add lab3 2023-04-06 16:07:04 +03:00
Oleksii Aleshchenko 07b17ca3cc upd lab2 (remove todo) 2023-04-06 15:34:29 +03:00
Oleksii Aleshchenko a61c59bf48 upd lab2 2023-04-06 15:34:03 +03:00
Oleksii Aleshchenko 9ece98fece upd lab2 2023-04-06 15:04:51 +03:00
Oleksii Aleshchenko 81ac59840f Revert "Done lab 1-3"
This reverts commit 29e63163a4.
2023-04-04 22:33:00 +03:00
Oleksii Aleshchenko 1e6825d7d4 Revert "Delete lab1 directory"
This reverts commit 1af299f8f7.
2023-04-04 22:32:47 +03:00
Oleksii Aleshchenko 4087daef02 Revert "Delete lab2 directory"
This reverts commit 3bbb7c8e54.
2023-04-04 22:32:36 +03:00
Oleksii Aleshchenko 31ba116ad8 Revert "Delete lab3 directory"
This reverts commit 6fc3cc244e.
2023-04-04 22:32:00 +03:00
xivihwa 6fc3cc244e Delete lab3 directory 2023-04-04 17:44:45 +03:00
xivihwa 3bbb7c8e54 Delete lab2 directory 2023-04-04 17:44:38 +03:00
xivihwa 1af299f8f7 Delete lab1 directory 2023-04-04 17:44:30 +03:00
xivihwa 4924bbe62f Merge pull request #2 from ASDjonok/ІО-25/01-Антоненко-Віолетта-Станіславівна
Done lab 1-3
2023-04-04 17:41:26 +03:00
xivihwa 29e63163a4 Done lab 1-3 2023-04-04 17:40:44 +03:00
Oleksii Aleshchenko 399941844f update lab2 2023-03-30 15:50:18 +03:00
Oleksii Aleshchenko f385bff73d update lab2 2023-03-30 15:29:02 +03:00
Oleksii Aleshchenko 6d8171ad4c update lab2 2023-03-23 16:04:49 +02:00
Oleksii Aleshchenko 14c58d0cc4 add lab2 2023-03-16 15:58:44 +02:00
Oleksii Aleshchenko afc13cf9f8 add char example for lab1 2023-03-16 15:21:51 +02:00
Oleksii Aleshchenko e910ee6e4d add final way of check division by zero for lab1 2023-03-16 15:07:48 +02:00
Oleksii Aleshchenko 6ab6cc17db add break with label (commented in line 34) and return for lab1 2023-03-16 15:00:12 +02:00
Oleksii Aleshchenko 25173d66d1 add flag "wasDivisionByZero" for lab1 2023-03-16 14:47:04 +02:00
Oleksii Aleshchenko 41ad598b79 add lab1 2023-03-09 16:01:01 +02:00
lesflq 788fa03eda Add files via upload 2023-03-08 10:03:09 +02:00
Oleksii Aleshchenko 13e1a61ad9 update Main with example for difference & and && 2023-03-02 16:07:34 +02:00
Oleksii Aleshchenko f692ae7588 update polymorphism example 2023-03-02 15:48:38 +02:00
Oleksii Aleshchenko 429bcc7b3d add polymorphism example 2023-03-02 15:26:42 +02:00
Oleksii Aleshchenko 4b159fa22b update inheritance example 2023-03-02 14:41:44 +02:00
lesflq b25ceea45d Add files via upload 2023-02-26 13:15:56 +02:00
Oleksii Aleshchenko 2880b770f7 add inheritance example 2023-02-23 16:04:53 +02:00
Oleksii Aleshchenko 53a9d20438 Update Main.java 2023-02-23 14:30:35 +02:00
28 changed files with 360 additions and 576 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<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
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
@@ -1,43 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab1;
import java.util.Scanner;
public class Lab1 {
public static void main(String[] args) {
// O1 = +
// C = 2
// O2 = %
// i, j = short(-32.768 to 32.768)
final int c = 2;
double result = 0;
Scanner scan = new Scanner(System.in);
System.out.print("Enter a: ");
int a = scan.nextInt();// Entering a
System.out.print("Enter b: ");
int b = scan.nextInt();// Entering b
System.out.print("Enter n: ");
int n = scan.nextInt();// Entering n
System.out.print("Enter m: ");
int m = scan.nextInt();// Entering m
scan.close();
if (a <= -c && n >= -c || b <= 0 && m >= 0) {
System.out.println("Error! Division by zero");
return;
}
else if(a > n || b > m){
result = 0;
System.out.println(result);
return;
}
for (short i = (short) a; i <= n; i++) {
for (short j = (short) b; j <= m; j++) {
result += (double) (i % j) / (i + c); //Calculation of the result
}
}
System.out.println("\ns = " + result); // Outputting the result
}
}
@@ -1,84 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab2;
import java.util.Scanner;
public class Lab2 {
public static void main(String[] args) {
// C5 = 2
// C7 = 1
// C11 = 4
Scanner scan = new Scanner(System.in);
System.out.print("Enter the number of matrix rows: ");
int m = scan.nextInt();
System.out.print("Enter the number of matrix columns: ");
int n = scan.nextInt();
System.out.println("\nFilling matrix A:");
byte[][] matrixA = new byte[m][n]; // Creating MxN matrix A
scanMatrix(matrixA, scan);
System.out.println("\nMatrix A"); // Printing matrix A
printMatrix(matrixA);
System.out.println("\nFilling matrix B:");
byte[][] matrixB = new byte[m][n];// Creating MxN matrix B
scanMatrix(matrixB, scan);
scan.close();
System.out.println("\nMatrix B:");// Printing matrix B
printMatrix(matrixB);
System.out.println("\nMatrix C:");
byte[][] matrixC = new byte[m][n];// Creating matrix C
for (byte i = 0; i < m; i++) {
for (byte j = 0; j < n; j++) {
matrixC[i][j] = (byte) (matrixA[i][j] + matrixB[i][j]);
System.out.print(matrixC[i][j] + "\t ");
}
System.out.println();
}
byte evenSum = 0; // Sum for the largest numbers in even rows
byte oddSum = 0;// Sum for the smallest numbers in even rows
for (byte i = 0; i < matrixC.length; i++) {
byte largest = Byte.MIN_VALUE; // variable for largest element
byte smallest = Byte.MAX_VALUE;// variable for smallest element
for (byte j = 0; j < matrixC[i].length; j++) {
if (i % 2 == 0) {
smallest = (byte) Math.min(smallest, matrixC[i][j]);
} else {
largest = (byte) Math.max(largest, matrixC[i][j]);
}
}
if (i % 2 == 0) {
oddSum += smallest;
} else {
evenSum += largest;
}
}
System.out.println("\nSum of the biggest elements: " + evenSum);
System.out.println("Sum of the smallest elements: " + oddSum);
}
private static void scanMatrix(byte[][] matrix, Scanner scan) { //Method for filling matrix
for (byte i = 0; i < matrix.length; i++) {
for (byte j = 0; j < matrix[i].length; j++) {
System.out.printf("Enter element [%d][%d]", i, i);
matrix[i][j] = scan.nextByte();
}
}
}
private static void printMatrix(byte[][] matrix) {//Method for printing matrix
for (byte[] row : matrix) {
for (byte el : row) {
System.out.print(el + "\t ");
}
System.out.println();
}
}
}
@@ -1,25 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab3;
import java.util.*;
public class Lab3 {
// String
// Надрукувати слова без повторень заданого тексту в алфавітному порядку за першою літерою.
public static void main(String[] args) {
String text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mauris a diam maecenas sed enim ut sem viverra. Amet est placerat in egestas erat imperdiet. Sed turpis tincidunt id aliquet risus. Amet porttitor eget dolor morbi non arcu risus quis. Elementum nibh tellus molestie nunc non blandit massa. Feugiat scelerisque varius morbi enim nunc faucibus. Ipsum faucibus vitae aliquet nec ullamcorper sit amet risus nullam. Quis enim lobortis scelerisque fermentum dui faucibus in. Sem viverra aliquet eget sit amet tellus cras adipiscing enim. Sed ullamcorper morbi tincidunt ornare. Sodales ut eu sem integer vitae justo eget magna. Mi ipsum faucibus vitae aliquet nec ullamcorper.";
String[] words = text.split("[\\p{Punct}\\s]+");
List<String> wordList = new ArrayList<>(Arrays.asList(words));//Class ArrayList implements interface List
// asList returns immutable list
Set<String> wordSet = new HashSet<>(wordList);// Class HashSet implements interface Set
wordList.clear();
wordList.addAll(wordSet);
wordList.sort(String::compareToIgnoreCase);
wordList.sort((o1, o2) -> o1.compareToIgnoreCase(o2));
for (String element : wordList) {
System.out.println(element);
}
}
}
@@ -1,34 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab4;
/**
* Class that represents a boat with different characteristics.
*/
public class Boat {
private final String name;
private final int price;
private final int mass;
private final int age;
private final String type;
public Boat(String name, int price, int mass, int age, String type) {
this.name = name;
this.price = price;
this.mass = mass;
this.age = age;
this.type = type;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
@Override
public String toString() {
return String.format("%s - %s, which was built %d years ago, with mass - %d kg, has price - %d$;",
type, name, age, mass, price);
}
}
@@ -1,35 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab4;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class Lab4 {
public static void main(String[] args) {
List<Boat> boatList = Arrays.asList(
new Boat("Row V. Wave", 150000, 50000, 25, "cutter"),
new Boat("Dirty Oar", 250000, 40000, 15, "cutter"),
new Boat("Tumeric", 450000, 100000, 45, "cutter"),
new Boat("Life is Good", 350000, 20000, 5, "cutter")
);
boatList.sort(Comparator.comparing(Boat::getName));// comparing - method of Comparator interface
System.out.println("Sorted by name:");
printed(boatList);
boatList.sort(Comparator.comparing(Boat::getPrice).reversed());
System.out.println("\nSorted by price in reverse order:");
printed(boatList);
}
/**
* Print all characteristics of boats.
*
* @param boatList List of boats.
*/
public static void printed(List<Boat> boatList) {
for (Boat boat : boatList) {
System.out.println(boat);
}
}
}
@@ -1,12 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
import java.util.*;
public class Lab5 {
public static void main(String[] args) {
Text text = new Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mauris a diam maecenas sed enim ut sem viverra. Amet est placerat in egestas erat imperdiet. Sed turpis tincidunt id aliquet risus. Amet porttitor eget dolor morbi non arcu risus quis. Elementum nibh tellus molestie nunc non blandit massa. Feugiat scelerisque varius morbi enim nunc faucibus. Ipsum faucibus vitae aliquet nec ullamcorper sit amet risus nullam. Quis enim lobortis scelerisque fermentum dui faucibus in. Sem viverra aliquet eget sit amet tellus cras adipiscing enim. Sed ullamcorper morbi tincidunt ornare. Sodales ut eu sem integer vitae justo eget magna. Mi ipsum faucibus vitae aliquet nec ullamcorper.");
System.out.println(text);
text.getSortedWordsByFirstLetter();
}
}
@@ -1,14 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public class Letter {
private final char character;
public Letter(char character) {
this.character = character;
}
@Override
public String toString() {
return String.valueOf(character);
}
}
@@ -1,14 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public class Punctuation implements SentenceElement {
private final String character;
public Punctuation(String character) {
this.character = character;
}
@Override
public String toString() {
return character;
}
}
@@ -1,57 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
import java.util.Arrays;
import java.util.HashSet;
public class Sentence {
private final SentenceElement[] sentenceElements;
private static final String PUNCTUATION = "\\p{Punct}";
public Sentence(String sentences) {
String[] sentenceElement = sentences.split("(?=" + PUNCTUATION + ")| ");
sentenceElements = new SentenceElement[sentenceElement.length];
for (int i = 0; i < sentenceElement.length; i++) {
if (sentenceElement[i].matches(PUNCTUATION)) {
sentenceElements[i] = new Punctuation(sentenceElement[i]);
} else {
sentenceElements[i] = new Word(sentenceElement[i]);
}
}
}
public static void getSortedWordsByFirstLetter(Sentence[] sentences) {
StringBuilder allWords = new StringBuilder();
for (Sentence sentence : sentences) {
allWords.append(sentence).append(" ");
}
String[] words = allWords.toString().split("\\W+"); // Remove punctuation marks
HashSet<String> uniqueWords = new HashSet<>();
for (String word : words) {
if (!word.isEmpty()) { // Ignore empty words
uniqueWords.add(word.toLowerCase()); // Convert word to lowercase and add to HashSet
}
}
String[] uniqueSortedWords = uniqueWords.toArray(new String[0]);
Arrays.sort(uniqueSortedWords); // Sort unique words by the first letter
for (String word : uniqueSortedWords) {
System.out.println(word);
}
}
@Override
public String toString() {
StringBuilder out = new StringBuilder();
for (SentenceElement se : sentenceElements) {
if (se.getClass().isAssignableFrom(Word.class)) {
out.append(" ");
}
out.append(se);
}
return out.toString();
}
}
@@ -1,5 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public interface SentenceElement {
// Об'єднуєм два типа
}
@@ -1,26 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public class Text {
private final Sentence[] sentences;
public Text(String text) {
String[] splitText = text.split("(?=[.!?]+)| ");
sentences = new Sentence[splitText.length];
for (int i = 0; i < splitText.length; i++) {
sentences[i] = new Sentence(splitText[i]);
}
}
public void getSortedWordsByFirstLetter() {
Sentence.getSortedWordsByFirstLetter(sentences);
}
@Override
public String toString() {
StringBuilder out = new StringBuilder();
for (Sentence sentence : sentences) {
out.append(sentence.toString());
}
return out.toString().strip();
}
}
@@ -1,21 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public class Word implements SentenceElement {
private final Letter[] letters;
public Word(String word) {
letters = new Letter[word.length()];
for (int i = 0; i < word.length(); i++) {
letters[i] = new Letter(word.charAt(i));
}
}
@Override
public String toString() {
StringBuilder out = new StringBuilder();
for (Letter let : letters) {
out.append(let.toString());
}
return out.toString();
}
}
@@ -1,7 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Comfort extends Tariff {
public Comfort(String name, int price, int customers) {
super(name, price, customers);
}
}
@@ -1,8 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Economy extends Tariff {
public Economy(String name, int price, int customers) {
super(name, price, customers);
}
}
@@ -1,48 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Lab6 {
public static void main(String[] args) {
Comfort tariff1 = new Comfort("Comfort", 100, 5000);
Economy tariff2 = new Economy("Economy", 25, 10000);
Optimal tariff3 = new Optimal("Optimal", 300, 50000);
Tariff[] tariffs = {tariff1, tariff2, tariff3};
int sum = 0;
System.out.println("Тарифи мобільної мобільної компанії:");
for (int i = 0; i < tariffs.length; i++) {
System.out.printf("\t%d. %s%n", i + 1, tariffs[i].getName());
sum += tariffs[i].getCustomers();
}
System.out.println("\nЗагальна кількість користувачів: " + sum + ";");
System.out.println("\nТарифи мобільної компанії відсортовані за вартістю:");
Arrays.sort(tariffs, Comparator.comparing(Tariff::getPrice));
for (int i = 0; i < tariffs.length; i++) {
System.out.printf("\t%d. %s%n", i + 1, tariffs[i]);
}
System.out.println("\nВведіть діапазон цін, в якому бажаєте підібрати тариф: ");
Scanner scan = new Scanner(System.in);
System.out.print("\tМінімальна ціна: ");
int minSum = scan.nextInt();
System.out.print("\tМаксимальна ціна: ");
int maxSum = scan.nextInt();
scan.close();
int n2 = 0;
System.out.println("\nПідібрані тарифи: ");
for (int i = 0; i < tariffs.length; i++) {
if (minSum <= tariffs[i].getPrice() && tariffs[i].getPrice() <= maxSum) {
System.out.printf("\t%d. %s%n", i + 1, tariffs[i]);
n2 += 1;
}
}
if (n2 == 0) {
System.out.println("\tНе знайдено тарифів в заданому діапазоні цін;");
}
}
}
@@ -1,7 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Optimal extends Tariff {
public Optimal(String name, int price, int customers) {
super(name, price, customers);
}
}
@@ -1,30 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Tariff {
private final String name;
private final int price;
private final int customers;
public Tariff(String name, int price, int customers) {
this.name = name;
this.price = price;
this.customers = customers;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
public int getCustomers() {
return customers;
}
@Override
public String toString() {
return "Тариф " + name + ", коштує " + price + " грн.";
}
}
+231
View 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
View 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);
}
}
}
-15
View File
@@ -1,15 +0,0 @@
public class Main {
public static void main(String[] args) {
System.out.println(args[1]);
System.out.println("Hello world!");
// System.out.println(1);
}
void myFunction() {
}
int myFunction2() {
return 1;
}
}
@@ -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;
}
}
-13
View File
@@ -1,13 +0,0 @@
package test;
public class A {
/*private*/ int f/* = 3*/;
public int getF() {
return f;
}
public void setF(int f) {
this.f = f;
}
}
-15
View File
@@ -1,15 +0,0 @@
package test;
public class Main {
public static void main(String[] args) {
A a = new A();
System.out.println(a.getF());
a.setF(1);
System.out.println(a.getF());
System.out.println(a.f);
int[] array = {1, 2, 1};
System.out.println(array.length);
}
}