mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-01 21:21:50 +03:00
Compare commits
52 Commits
IO-24/02-Б
...
ІО-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 | ||
|
|
14c58d0cc4 | ||
|
|
afc13cf9f8 | ||
|
|
e910ee6e4d | ||
|
|
6ab6cc17db | ||
|
|
25173d66d1 | ||
|
|
41ad598b79 | ||
|
|
788fa03eda | ||
|
|
13e1a61ad9 | ||
|
|
f692ae7588 | ||
|
|
429bcc7b3d | ||
|
|
4b159fa22b | ||
|
|
b25ceea45d | ||
|
|
2880b770f7 | ||
|
|
53a9d20438 |
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_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
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>
|
||||
@@ -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,55 +0,0 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class Sentence {
|
||||
private final SentenceElement[] sentenceElements;
|
||||
private static final String PUNCTUATION = "\\p{Punct}";
|
||||
|
||||
public Sentence(String sentences) {
|
||||
String[] sentenceElement = sentences.split("(?=" + PUNCTUATION + ")| ");
|
||||
sentenceElements = new SentenceElement[sentenceElement.length];
|
||||
for (int i = 0; i < sentenceElement.length; i++) {
|
||||
if (sentenceElement[i].matches(PUNCTUATION)) {
|
||||
sentenceElements[i] = new Punctuation(sentenceElement[i]);
|
||||
} else {
|
||||
sentenceElements[i] = new Word(sentenceElement[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void getSortedWordsByFirstLetter(Sentence[] sentences) {
|
||||
StringBuilder allWords = new StringBuilder();
|
||||
for (Sentence sentence : sentences) {
|
||||
allWords.append(sentence).append(" ");
|
||||
}
|
||||
|
||||
String[] words = allWords.toString().split("\\W+");
|
||||
|
||||
HashSet<String> uniqueWords = new HashSet<>();
|
||||
|
||||
for (String word : words) {
|
||||
uniqueWords.add(word.toLowerCase());
|
||||
}
|
||||
|
||||
String[] uniqueSortedWords = uniqueWords.toArray(new String[0]);
|
||||
|
||||
Arrays.sort(uniqueSortedWords);
|
||||
|
||||
for (String word : uniqueSortedWords) {
|
||||
System.out.println(word);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder out = new StringBuilder();
|
||||
for (SentenceElement se : sentenceElements) {
|
||||
if (se.getClass().isAssignableFrom(Word.class)) {
|
||||
out.append(" ");
|
||||
}
|
||||
out.append(se);
|
||||
}
|
||||
return out.toString();
|
||||
}
|
||||
}
|
||||
@@ -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
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,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;
|
||||
}
|
||||
}
|
||||
@@ -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