Compare commits
No commits in common. "9eab1efbc26db8b5368c77e0e82acc952c37b828" and "5c1edd02c8ec6b99ca2ddd179fb7fe143ac9c403" have entirely different histories.
9eab1efbc2
...
5c1edd02c8
|
@ -1,8 +0,0 @@
|
||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
# Editor-based HTTP Client requests
|
|
||||||
/httpRequests/
|
|
||||||
# Datasource local storage ignored files
|
|
||||||
/dataSources/
|
|
||||||
/dataSources.local.xml
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?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$" />
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/lab4.iml" filepath="$PROJECT_DIR$/.idea/lab4.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
|
@ -1,6 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
BIN
lab5/lab5.pdf
BIN
lab5/lab5.pdf
Binary file not shown.
|
@ -1,8 +0,0 @@
|
||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
# Editor-based HTTP Client requests
|
|
||||||
/httpRequests/
|
|
||||||
# Datasource local storage ignored files
|
|
||||||
/dataSources/
|
|
||||||
/dataSources.local.xml
|
|
|
@ -1,6 +0,0 @@
|
||||||
<?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">
|
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/untitled.iml" filepath="$PROJECT_DIR$/untitled.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,166 +0,0 @@
|
||||||
import java.util.HashSet;
|
|
||||||
|
|
||||||
public class Main {
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
String inputText = "Раз два три, літо прийди! По ООП сто балів захвати. ім'я запише без апострофу, ех"; //вход даних, текст
|
|
||||||
int targetLength = 3; //змінна, кількість літер в слові
|
|
||||||
|
|
||||||
try {
|
|
||||||
TextProcessor textProcessor = new TextProcessor();
|
|
||||||
HashSet<Word> uniqueWords = textProcessor.findUniqueWordsWithLength(inputText, targetLength);
|
|
||||||
System.out.println("Unique words of length " + targetLength + " in the input text are: " + uniqueWords);// вивод повідомлення, що містить довжину та унікальні слова змінної
|
|
||||||
} catch (Exception e) {
|
|
||||||
System.out.println("An error occurred: " + e.getMessage());//вивиод помилки
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class Letter {
|
|
||||||
private char value;
|
|
||||||
|
|
||||||
public Letter(char value) {
|
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public char getValue() {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setValue(char value) {
|
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class Word {
|
|
||||||
private Letter[] letters;
|
|
||||||
|
|
||||||
public Word(Letter[] letters) {
|
|
||||||
this.letters = letters;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Letter[] getLetters() {
|
|
||||||
return letters;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLetters(Letter[] letters) {
|
|
||||||
this.letters = letters;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getLength() {
|
|
||||||
return letters.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
for (Letter letter : letters) {
|
|
||||||
sb.append(letter.getValue());
|
|
||||||
}
|
|
||||||
return sb.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object obj) {
|
|
||||||
if (this == obj) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (obj == null || getClass() != obj.getClass()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
Word other = (Word) obj;
|
|
||||||
return this.toString().equals(other.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return this.toString().hashCode();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class Sentence {
|
|
||||||
private Word[] words;
|
|
||||||
private String punctuation;
|
|
||||||
|
|
||||||
public Sentence(Word[] words, String punctuation) {
|
|
||||||
this.words = words;
|
|
||||||
this.punctuation = punctuation;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Word[] getWords() {
|
|
||||||
return words;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWords(Word[] words) {
|
|
||||||
this.words = words;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPunctuation() {
|
|
||||||
return punctuation;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPunctuation(String punctuation) {
|
|
||||||
this.punctuation = punctuation;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
for (Word word : words) {
|
|
||||||
sb.append(word.toString()).append(" ");
|
|
||||||
}
|
|
||||||
sb.append(punctuation);
|
|
||||||
return sb.toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class Text {
|
|
||||||
private Sentence[] sentences;
|
|
||||||
|
|
||||||
public Text(Sentence[] sentences) {
|
|
||||||
this.sentences = sentences;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Sentence[] getSentences() {
|
|
||||||
return sentences;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSentences(Sentence[] sentences) {
|
|
||||||
this.sentences = sentences;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
for (Sentence sentence : sentences) {
|
|
||||||
sb.append(sentence.toString());
|
|
||||||
}
|
|
||||||
return sb.toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class TextProcessor {
|
|
||||||
public HashSet<Word> findUniqueWordsWithLength(String inputText, int targetLength) {
|
|
||||||
HashSet<Word> uniqueWords = new HashSet<>();
|
|
||||||
String[] sentenceStrings = inputText.split("[?]");
|
|
||||||
for (String sentenceString : sentenceStrings) {
|
|
||||||
String[] wordStrings = sentenceString.trim().split("\\s+");
|
|
||||||
for (String wordString : wordStrings) {
|
|
||||||
wordString = wordString.replaceAll("[\\t\\s]+", " "); // Заміна послідовності табуляцій та пробілів одним пробілом
|
|
||||||
wordString = wordString.replaceAll("[^\\p{L}\\s]", ""); // Вилучення розділових знаків
|
|
||||||
wordString = wordString.toLowerCase(); // Перетворення на нижній регістр
|
|
||||||
wordString = wordString.replace("’", ""); // Вилучення апострофів
|
|
||||||
|
|
||||||
if (wordString.length() == targetLength) {
|
|
||||||
Letter[] letters = new Letter[wordString.length()];
|
|
||||||
for (int i = 0; i < wordString.length(); i++) {
|
|
||||||
letters[i] = new Letter(wordString.charAt(i));
|
|
||||||
}
|
|
||||||
Word word = new Word(letters);
|
|
||||||
uniqueWords.add(word);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return uniqueWords;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="JAVA_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$">
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
BIN
lab6/lab6.pdf
BIN
lab6/lab6.pdf
Binary file not shown.
|
@ -1,8 +0,0 @@
|
||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
# Editor-based HTTP Client requests
|
|
||||||
/httpRequests/
|
|
||||||
# Datasource local storage ignored files
|
|
||||||
/dataSources/
|
|
||||||
/dataSources.local.xml
|
|
|
@ -1,6 +0,0 @@
|
||||||
<?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">
|
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/untitled.iml" filepath="$PROJECT_DIR$/untitled.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,159 +0,0 @@
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Comparator;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Клас, що описує базовий рухомий склад залізничного транспорту.
|
|
||||||
*/
|
|
||||||
class RollingStock {
|
|
||||||
private int number;
|
|
||||||
|
|
||||||
public RollingStock(int number) {
|
|
||||||
this.number = number;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getNumber() {
|
|
||||||
return number;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Клас, що описує пасажирський вагон.
|
|
||||||
*/
|
|
||||||
class PassengerCarriage extends RollingStock {
|
|
||||||
private int passengerCount;
|
|
||||||
private int comfortLevel;
|
|
||||||
|
|
||||||
public PassengerCarriage(int number, int passengerCount, int comfortLevel) {
|
|
||||||
super(number);
|
|
||||||
this.passengerCount = passengerCount;
|
|
||||||
this.comfortLevel = comfortLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPassengerCount() {
|
|
||||||
return passengerCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getComfortLevel() {
|
|
||||||
return comfortLevel;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Клас, що описує вагон для багажу.
|
|
||||||
*/
|
|
||||||
class BaggageCarriage extends RollingStock {
|
|
||||||
private int baggageCount;
|
|
||||||
|
|
||||||
public BaggageCarriage(int number, int baggageCount) {
|
|
||||||
super(number);
|
|
||||||
this.baggageCount = baggageCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getBaggageCount() {
|
|
||||||
return baggageCount;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Клас, що описує пасажирський потяг.
|
|
||||||
*/
|
|
||||||
class PassengerTrain {
|
|
||||||
private RollingStock[] rollingStock;
|
|
||||||
|
|
||||||
public PassengerTrain(RollingStock[] rollingStock) {
|
|
||||||
this.rollingStock = rollingStock;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getTotalPassengerCount() {
|
|
||||||
int totalPassengerCount = 0;
|
|
||||||
for (RollingStock stock : rollingStock) {
|
|
||||||
if (stock instanceof PassengerCarriage) {
|
|
||||||
PassengerCarriage carriage = (PassengerCarriage) stock;
|
|
||||||
totalPassengerCount += carriage.getPassengerCount();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return totalPassengerCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getTotalBaggageCount() {
|
|
||||||
int totalBaggageCount = 0;
|
|
||||||
for (RollingStock stock : rollingStock) {
|
|
||||||
if (stock instanceof BaggageCarriage) {
|
|
||||||
BaggageCarriage carriage = (BaggageCarriage) stock;
|
|
||||||
totalBaggageCount += carriage.getBaggageCount();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return totalBaggageCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void sortByComfortLevel() {
|
|
||||||
Arrays.sort(rollingStock, new Comparator<RollingStock>() {
|
|
||||||
@Override
|
|
||||||
public int compare(RollingStock o1, RollingStock o2) {
|
|
||||||
if (o1 instanceof PassengerCarriage && o2 instanceof PassengerCarriage) {
|
|
||||||
PassengerCarriage carriage1 = (PassengerCarriage) o1;
|
|
||||||
PassengerCarriage carriage2 = (PassengerCarriage) o2;
|
|
||||||
return carriage1.getComfortLevel() - carriage2.getComfortLevel();
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public RollingStock findCarriageByPassengerCountRange(int minPassengerCount, int maxPassengerCount) {
|
|
||||||
for (RollingStock stock : rollingStock) {
|
|
||||||
if (stock instanceof PassengerCarriage) {
|
|
||||||
PassengerCarriage carriage = (PassengerCarriage) stock;
|
|
||||||
if (carriage.getPassengerCount() >= minPassengerCount && carriage.getPassengerCount() <= maxPassengerCount) {
|
|
||||||
return carriage;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Головний клас програми.
|
|
||||||
*/
|
|
||||||
public class Main {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
// Створення вагонів потягу
|
|
||||||
RollingStock[] rollingStock = new RollingStock[5];
|
|
||||||
rollingStock[0] = new PassengerCarriage(1, 40, 3);
|
|
||||||
rollingStock[1] = new PassengerCarriage(2, 30, 2);
|
|
||||||
rollingStock[2] = new BaggageCarriage(3, 50);
|
|
||||||
rollingStock[3] = new PassengerCarriage(4, 20, 1);
|
|
||||||
rollingStock[4] = new PassengerCarriage(5, 35, 2);
|
|
||||||
|
|
||||||
// Створення пасажирського потягу
|
|
||||||
PassengerTrain train = new PassengerTrain(rollingStock);
|
|
||||||
|
|
||||||
// Розрахунок загальної кількості пасажирів та багажу в потязі
|
|
||||||
int totalPassengerCount = train.getTotalPassengerCount();
|
|
||||||
int totalBaggageCount = train.getTotalBaggageCount();
|
|
||||||
System.out.println("Total passenger count: " + totalPassengerCount);
|
|
||||||
System.out.println("Total baggage count: " + totalBaggageCount);
|
|
||||||
|
|
||||||
// Сортування вагонів за рівнем комфортності
|
|
||||||
train.sortByComfortLevel();
|
|
||||||
System.out.println("Sorted carriages by comfort level:");
|
|
||||||
|
|
||||||
for (RollingStock stock : rollingStock) {
|
|
||||||
if (stock instanceof PassengerCarriage) {
|
|
||||||
PassengerCarriage carriage = (PassengerCarriage) stock;
|
|
||||||
System.out.println("Carriage " + carriage.getNumber() + ", Comfort Level: " + carriage.getComfortLevel());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Знаходження вагона з пасажирськими місцями в заданому діапазоні кількості пасажирів
|
|
||||||
int minPassengerCount = 25;
|
|
||||||
int maxPassengerCount = 40;
|
|
||||||
RollingStock foundCarriage = train.findCarriageByPassengerCountRange(minPassengerCount, maxPassengerCount);
|
|
||||||
if (foundCarriage != null) {
|
|
||||||
System.out.println("Found carriage with passenger count in range (" + minPassengerCount + "-" + maxPassengerCount + "): " + foundCarriage.getNumber());
|
|
||||||
} else {
|
|
||||||
System.out.println("No carriage found with passenger count in range (" + minPassengerCount + "-" + maxPassengerCount + ")");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
<?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>
|
|
Loading…
Reference in New Issue